有人問我這個問題早了,不能夠回答這個問題一直困擾着我。MySQL的使用次數,重複計數
比方說,我們有客戶一張桌子和居住的城市。
如果我想查詢唯一的城市數量,以及每個城市出現的次數,該怎麼辦?
更清楚:
Toronto
Toronto
Toronto
Oshawa
Oshawa
Distinct cities: 2
Toronto: 3
Oshawa: 2
答案可能是簡單的,我的腦海裏只是玉米粥的時刻!
有人問我這個問題早了,不能夠回答這個問題一直困擾着我。MySQL的使用次數,重複計數
比方說,我們有客戶一張桌子和居住的城市。
如果我想查詢唯一的城市數量,以及每個城市出現的次數,該怎麼辦?
更清楚:
Toronto
Toronto
Toronto
Oshawa
Oshawa
Distinct cities: 2
Toronto: 3
Oshawa: 2
答案可能是簡單的,我的腦海裏只是玉米粥的時刻!
爲此使用一組。
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
城市總數只是查詢返回的行數。如果你真的希望它出現在記錄集上,我可以想到兩種方式(我並不特別喜歡它)。
UNION查詢:
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
絕對,感謝這麼多,不敢相信我能不想到! – 2012-02-27 19:31:20