我搜索了这个错误并修改了我的查询,并在聚合函数中使用了我的按列排序。
可能是由于对 sql 的了解较少,我无法捕捉到此错误的确切含义。
我的表中有以下列:
- [id]
- [post_id]
- [user_id]
- [photo_id]
- [photo_group_id]
- [album_id]
我的查询:
SELECT TOP 3 MAX(share.id) as share_id, share.user_id
FROM share
WHERE share.post_id = 5468
GROUP BY share.user_id
ORDER BY share.id desc
我在聚合函数中按列使用 order by 仍然显示
Column "share.id" is invalid in the ORDER BY clause because it is not contained in either an aggregate function or the GROUP BY clause.
任何帮助将不胜感激。 :)
最佳答案
该列不包含在 SELECTed 中...我会将 ORDER BY 更改为聚合列:
ORDER BY MAX(share.id) DESC
或选择中列的索引:
ORDER BY 1 DESC
关于sql-server - 在 ORDER BY 子句中无效,因为它不包含在聚合函数或 GROUP BY 子句中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33580104/