[英]sql GROUP within group
假設我有這個數據庫:
ID | Name | City
1 | John | TLV
2 | Abe | JLM
3 | John | JLM
我想知道每個城市有多少個名字不同的人。 我試圖這樣使用GROUP BY
:
SELECT `city`, count(`index`) as `num` FROM `people`
GROUP BY `city`, `name`
但這似乎兩者兼而有之 。
City | num
TLV | 1
JLM | 1
我要做的是按city
分組,然后按name
分組結果。
City | num
TLV | 1
JLM | 2
我怎樣才能做到這一點?
我想你想要這個:
SELECT `city`, count(distinct name) as `num`
FROM `people`
GROUP BY `city`;
您可能只想count(name)
。 。 。 我不確定“不同名稱”的意思。 count(name)
是優選的,如果你不需要distinct
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.