首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql使用count和distinct count

mysql使用count和distinct count
EN

Stack Overflow用户
提问于 2012-02-28 03:20:39
回答 3查看 3.3K关注 0票数 1

早些时候有人问我这个问题,无法回答一直困扰着我。

假设我们有一张桌子,上面有客户和他们居住的城市。

更清楚地说:

代码语言:javascript
复制
Toronto
Toronto
Toronto
Oshawa
Oshawa
代码语言:javascript
复制
Distinct cities: 2
Toronto: 3
Oshawa: 2

答案可能很简单,我的大脑现在就是一团糟!

EN

回答 3

Stack Overflow用户

发布于 2012-02-28 03:30:43

这将为每个城市返回一行,其中包含城市名称和城市出现的次数:

代码语言:javascript
复制
SELECT 
    city,
    COUNT(*) 
FROM clients
GROUP BY city

城市的总数就是查询返回的行数。如果您真的希望它出现在记录集中,我可以想到两种方法(我都不是特别喜欢)。

  1. 联合查询:

SELECT 'CITIES‘作为city,COUNT(DISTINCT city) FROM clients UNION SELECT city,COUNT(*) FROM clients GROUP BY city

  • 子查询SELECT子句:

SELECT (SELECT COUNT(DISTINCT city)) AS all,city,COUNT(*) FROM clients GROUP BY city (选择计数(不同城市))作为全部,城市,计数(*)FROM clients GROUP BY city

票数 3
EN

Stack Overflow用户

发布于 2012-02-28 03:23:47

为此,请使用group by。

代码语言:javascript
复制
select city, count(*) from clients group by city
票数 2
EN

Stack Overflow用户

发布于 2012-02-28 03:24:08

下面是用于选择不同城市的sql:

代码语言:javascript
复制
select distinct city from Clients;

下面是用于选择名称以及名称数量的sql:

代码语言:javascript
复制
select city, count(*) from Clients group by city;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9470897

复制
相关文章

相似问题

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