错误:聚合不应出现在 WHERE 子句中

木易十三 2011-06-29 02:37:07
select top 9 * from T_Infobase_Hotel A where (Recommend*10000 +ID) <
(select min(Recommend*10000+ID) AS ColName from
(select top 9 (Recommend*10000+ID) AS ColName from T_Infobase_Hotel B order by (Recommend*10000+ID) desc) tbltmp) order by (Recommend*10000+ID) desc

以上SQL要实现的是分页查询,按Recommend先 id后的顺序排序,运行时提示:聚合不应出现在 WHERE 子句中,除非该聚合位于 HAVING 子句或选择列表所包含的子查询中,并且要对其进行聚合的列是外部引用。
...全文
313 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
木易十三 2011-06-29
  • 打赏
  • 举报
回复
谢谢二楼,三楼的写法不报错了,但搜索结果不对
GoAwayZ 2011-06-29
  • 打赏
  • 举报
回复
select top 9 * from T_Infobase_Hotel A  
where
(Recommend*10000 +ID) <
(select top 1 (Recommend*10000+ID) AS ColName
from (select top 9 (Recommend*10000+ID) AS ColName
from T_Infobase_Hotel B order by (Recommend*10000+ID) desc
) tbltmp order by (Recommend*10000+ID))
order by (Recommend*10000+ID) desc
-狙击手- 2011-06-29
  • 打赏
  • 举报
回复
select top 9 *
from T_Infobase_Hotel A
where
(Recommend*10000 +ID) <
(select top 1 (Recommend*10000+ID) AS ColName
from (select top 9 (Recommend*10000+ID) AS ColName
from T_Infobase_Hotel B order by (Recommend*10000+ID) desc
) tbltmp order by (Recommend*10000+ID))
order by (Recommend*10000+ID) desc
dearbinge 2011-06-29
  • 打赏
  • 举报
回复

select top 9 * from T_Infobase_Hotel A where (Recommend*10000 +ID) <
(select min(ColName) from
(select top 9 (Recommend*10000+ID) AS ColName from T_Infobase_Hotel B order by (Recommend*10000+ID) desc) tbltmp) order by (Recommend*10000+ID) desc

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧