子查询与group by 问题

xeppp 2008-06-13 11:35:55
今天又学了一招

呵呵 上学时候 不知道 那位 老师说的 “子查询里不能放order by 语句”

select * from (
select top 9* from
(select top 30 * from db_owner.[function] order by 排序字段 asc)
as a order by 排序字段 desc
)as b
order by 排序字段 asc 粘出来分享一下

现在有一弱问题是
select * from
(select cityid,cityname from db_owner.city
)a 是可以执行的

但是 加了一个组函数 就不成了
select * from
(select cityid,cityname,count(provinceid) from db_owner.city
group by cityid,cityname
)a
请解释一下 谢谢
...全文
598 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lff642 2008-06-13
  • 打赏
  • 举报
回复
但是 加了一个组函数 就不成了
select * from
(select cityid,cityname,count(provinceid) from db_owner.city
group by cityid,cityname
)a
请解释一下 谢谢
-------------------------------------
给汇总列加个别名就好了

select * from
(select cityid,cityname,count(provinceid) provinceid from db_owner.city
group by cityid,cityname
) a
-狙击手- 2008-06-13
  • 打赏
  • 举报
回复
但是 加了一个组函数 就不成了
select * from
(select cityid,cityname,count(provinceid) from db_owner.city
group by cityid,cityname
)a
请解释一下 谢谢
--------------------------------------

count(provinceid) 必须指定一个列名



select * from
(select cityid,cityname,count(provinceid) as cnt from db_owner.city
group by cityid,cityname
)a
中国风 2008-06-13
  • 打赏
  • 举报
回复
select * from
(select cityid,cityname,count(provinceid)provinceid from db_owner.city --少了列名
group by cityid,cityname
)a
中国风 2008-06-13
  • 打赏
  • 举报
回复
取22-30
liangCK 2008-06-13
  • 打赏
  • 举报
回复
子查询不能order by..除非也指定了top
friendlyFour 2008-06-13
  • 打赏
  • 举报
回复
select * from
(select cityid,cityname,count(provinceid) as aa from db_owner.city
group by cityid,cityname
)a

34,589

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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