早些时候有人问我这个问题,无法回答一直困扰着我。
假设我们有一张桌子,上面有客户和他们居住的城市。
更清楚地说:
Toronto
Toronto
Toronto
Oshawa
OshawaDistinct cities: 2
Toronto: 3
Oshawa: 2答案可能很简单,我的大脑现在就是一团糟!
发布于 2012-02-28 03:30:43
这将为每个城市返回一行,其中包含城市名称和城市出现的次数:
SELECT
city,
COUNT(*)
FROM clients
GROUP BY city城市的总数就是查询返回的行数。如果您真的希望它出现在记录集中,我可以想到两种方法(我都不是特别喜欢)。
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
发布于 2012-02-28 03:23:47
为此,请使用group by。
select city, count(*) from clients group by city发布于 2012-02-28 03:24:08
下面是用于选择不同城市的sql:
select distinct city from Clients;下面是用于选择名称以及名称数量的sql:
select city, count(*) from Clients group by city;https://stackoverflow.com/questions/9470897
复制相似问题