我有一个分组的SQL选择查询。
我想对group by语句之后的所有记录进行计数。
有没有办法直接从SQL?
例如,有一个包含用户的表格,我想选择不同的城镇和用户总数

select town, count(*) from user
group by town

我希望有一列包含所有城镇,另一列包含所有行中的用户数。

共有3个镇和58个用户的结果示例是:
Town         Count
Copenhagen   58
NewYork      58
Athens       58

最佳答案

这将完成您想要的操作(城镇列表以及每个城镇中的用户数量):

select town, count(town)
from user
group by town

使用GROUP BY时,可以使用大多数aggregate functions

更新(在对问题和评论进行更改之后)

您可以为用户数量声明一个变量,并将其设置为用户数量,然后选择该变量。
DECLARE @numOfUsers INT
SET @numOfUsers = SELECT COUNT(*) FROM user

SELECT DISTINCT town, @numOfUsers
FROM user

关于sql - 如何在同一条select语句中使用count和group by,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2722408/

10-09 21:03