我有一个SQL选择查询有一个组。 我想统计所有记录后的记录。 有没有办法从这个直接从SQL? 例如,有一个表与用户我想选择不同的Town 和用户总数
select town, count(*) from user
group by town
我希望有一个列与所有城镇和另一个与用户的数量在所有行。
总共有3个Town 和58个Count的例子是:
Town Count
Copenhagen 58
NewYork 58
Athens 58
发布于 2017-12-27 08:32:55
这将实现你想做的事情(城镇列表,每个城town的用户数):
select town, count(town)
from user
group by town
你可以用最多的聚合函数使用时GROUP BY
...
更新(在对问题和评论进行修改后)
你可以为用户数声明一个变量,并将其设置为用户数,然后使用该变量进行选择。
DECLARE @numOfUsers INT
SET @numOfUsers = SELECT COUNT(*) FROM user
SELECT DISTINCT town, @numOfUsers
FROM user
发布于 2017-12-27 09:02:15
你可以用COUNT(DISTINCT ...)
*
SELECT COUNT(DISTINCT town)
FROM user
发布于 2017-12-27 10:07:17
另一种方式是:
/* Number of rows in a derived table called d1. */
select count(*) from
(
/* Number of times each town appears in user. */
select town, count(*)
from user
group by town
) d1
https://stackoverflow.com/questions/-100007088
复制相似问题