簡體   English   中英

組中的SQL GROUP

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM