mysql使用count和distinct count
早些时候有人问我这个问题,但我一直无法回答 假设我们有一张有客户和他们居住城市的桌子 如果我想查询城市的唯一数量,以及每个城市出现的次数,该怎么办 更清楚地说:mysql使用count和distinct count,mysql,sql,count,distinct,Mysql,Sql,Count,Distinct,早些时候有人问我这个问题,但我一直无法回答 假设我们有一张有客户和他们居住城市的桌子 如果我想查询城市的唯一数量,以及每个城市出现的次数,该怎么办 更清楚地说: Toronto Toronto Toronto Oshawa Oshawa 不同城市:2个 多伦多:3 大泽:2 答案可能很简单,我现在脑子里乱七八糟的 为此使用分组依据 select city, count(*) from clients group by city 为此使用分组方式 select city, count(*)
Toronto
Toronto
Toronto
Oshawa
Oshawa
不同城市:2个
多伦多:3
大泽:2
答案可能很简单,我现在脑子里乱七八糟的 为此使用分组依据
select city, count(*) from clients group by city
为此使用分组方式
select city, count(*) from clients group by city
以下是选择不同城市的sql:
select distinct city from Clients;
以下是用于选择名称以及名称数量的sql:
select city, count(*) from Clients group by city;
以下是选择不同城市的sql:
select distinct city from Clients;
以下是用于选择名称以及名称数量的sql:
select city, count(*) from Clients group by city;
这将为每个城市返回一行,其中包含城市名称和城市出现的次数:
SELECT
city,
COUNT(*)
FROM clients
GROUP BY city
城市总数只是查询返回的行数。如果你真的想让它出现在记录集中,我可以想出两种方法(我都不特别喜欢)
SELECT 'CITIES' as 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
这将为每个城市返回一行,其中包含城市名称和城市出现的次数:
SELECT
city,
COUNT(*)
FROM clients
GROUP BY city
城市总数只是查询返回的行数。如果你真的想让它出现在记录集中,我可以想出两种方法(我都不特别喜欢)
SELECT 'CITIES' as 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
当然,非常感谢,真不敢相信我竟然想不起来!当然,非常感谢,真不敢相信我竟然想不起来!