【发布时间】:2010-09-05 09:16:28
【问题描述】:
我知道我需要(虽然我不知道为什么)在使用任何聚合函数(如 count、sum、avg 等)的 SQL 查询末尾有一个 GROUP BY 子句:
SELECT count(userID), userName
FROM users
GROUP BY userName
GROUP BY 还什么时候有用,对性能有什么影响?
【问题讨论】:
-
请注意,'GROUP BY' 不会对结果集进行排序。如果您需要特定订单,请添加 ORDER BY
-
一个更好的说法是SQL标准在使用它时不保证任何排序......但是如何在没有排序的情况下实现分组?我见过的所有实现都使用某种排序,并且几乎总是按顺序返回结果作为副作用。
标签: sql sql-server group-by