我有一个分组的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/