ORDER BY 子句中的列必须包含在聚合函数或 GROUP BY 子句中。
eg:
SELECT [col1] ,[col2],MAX([col3]) FROM [tb] GROUP BY [col1] ,[col2] ORDER BY [col1] ,[col2] ,MAX([col3])
SELECT [col1] ,[col2],MAX([col3]) AS [col3] FROM [tb] GROUP BY [col1] ,[col2] ORDER BY [col1] ,[col2] ,[col3]
SELECT [col1] ,[col2] FROM [tb] GROUP BY [col1] ,[col2] ,[col3] ORDER BY [col1] ,[col2] ,[col3]撇开聚合函数不说,select后面的列+order by后面的列必须在group by里面(sqlserver 要求,mysql 貌似没这么要求),也就是说select和order by 后面的列是group by列的子集,
而select 和order by直接没什么直接关系。
本文详细介绍了 SQL 中 GROUP BY 子句的正确使用方法,特别是与 SELECT 和 ORDER BY 子句配合时的注意事项。文章通过具体示例解释了在使用聚合函数时,GROUP BY 子句如何帮助组织数据,并确保查询结果的准确性。
37万+

被折叠的 条评论
为什么被折叠?



