首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在同一SELECT语句中使用COUNT和GROUP BY?

如何在同一SELECT语句中使用COUNT和GROUP BY?
EN

Stack Overflow用户
提问于 2017-12-27 00:52:57
回答 3查看 0关注 0票数 0

我有一个SQL选择查询有一个组。 我想统计所有记录后的记录。 有没有办法从这个直接从SQL? 例如,有一个表与用户我想选择不同的Town 和用户总数

代码语言:javascript
复制
select town, count(*) from user
group by town

我希望有一个列与所有城镇和另一个与用户的数量在所有行。

总共有3个Town 和58个Count的例子是:

代码语言:javascript
复制
Town         Count
Copenhagen   58
NewYork      58
Athens       58
EN

回答 3

Stack Overflow用户

发布于 2017-12-27 08:32:55

这将实现你想做的事情(城镇列表,每个城town的用户数):

代码语言:javascript
复制
select town, count(town) 
from user
group by town

你可以用最多的聚合函数使用时GROUP BY...

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

你可以为用户数声明一个变量,并将其设置为用户数,然后使用该变量进行选择。

代码语言:javascript
复制
DECLARE @numOfUsers INT
SET @numOfUsers = SELECT COUNT(*) FROM user

SELECT DISTINCT town, @numOfUsers
FROM user
票数 0
EN

Stack Overflow用户

发布于 2017-12-27 09:02:15

你可以用COUNT(DISTINCT ...)*

代码语言:javascript
复制
SELECT COUNT(DISTINCT town) 
FROM user
票数 0
EN

Stack Overflow用户

发布于 2017-12-27 10:07:17

另一种方式是:

代码语言:javascript
复制
/* 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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100007088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档