我如何使用 T-SQL Group By
我知道我需要(虽然我不知道为什么)在使用任何聚合函数(如 count
)的 SQL 查询的末尾有一个 GROUP BY
子句、sum
、avg
等:
I know I need to have (although I don't know why) a GROUP BY
clause on the end of a SQL query that uses any aggregate functions like count
, sum
, avg
, etc:
SELECT count(userID), userName
FROM users
GROUP BY userName
GROUP BY
还有什么用处?性能影响是什么?
When else would GROUP BY
be useful, and what are the performance ramifications?
推荐答案
要从具有 5 个以上小部件的每个小部件类别中检索小部件的数量,您可以执行以下操作:
To retrieve the number of widgets from each widget category that has more than 5 widgets, you could do this:
SELECT WidgetCategory, count(*)
FROM Widgets
GROUP BY WidgetCategory
HAVING count(*) > 5
人们经常忘记have"子句,而是选择将所有数据检索到客户端并在那里迭代.
The "having" clause is something people often forget about, instead opting to retrieve all their data to the client and iterating through it there.
相关文章