group by和order by的错误

select  u.Col_Name from hs_user u left join

(

select tuid,count(*) as 'col_sumtopic' from BBS_Topic

group by tuid

order by col_sumtopic desc

) t on u.Col_ID = t.tuid

消息 1033,级别 15,状态 1,第 6 行

除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。

解决:将order by放在外面

改成

) t on u.Col_ID = t.tuid order by col_sumtopic desc

问题2:

如果将上述语句创建成视图,则报如下错误

除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。

解决:去掉order by,引用时写成 select * from 视图 order by

原文地址:https://www.cnblogs.com/huaci/p/3523971.html