我如何使用 T-SQL Group By

2021-12-27 00:00:00 sql group-by sql-server

我知道我需要(虽然我不知道为什么)在使用任何聚合函数(如 count)的 SQL 查询的末尾有一个 GROUP BY 子句、sumavg 等:

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.

相关文章