2014-10-05 71 views
-1

如何將以下查詢轉換爲不同的結果,但計算的返回的結果是否相同?我可以做一個單獨的查詢,但有一種方法可以將它們結合起來。MySQL - 選擇帶有不同計數的DISTINCT,相同表

表很簡單,它只是(ID,信息,語言)

SELECT DISTINCT(`language`) FROM `info` 

很容易的,返回所有特有的語言。然而, 如何計算有多少單詞具有該語言,並在相同的查詢中返回。結果

例那就需要返回

語言|這個語言的詞數有多少
langa | 20000
langb | 10000
langc | 4000

回答

4

如果要通過聚合數據實現結果,則需要使用分組。在這種情況下,您可以使用COUNT功能:

SELECT `language`, COUNT(`id`) FROM `words` 
GROUP BY `language` 
+0

嗯,這是一個簡單的解決 - 謝謝你,@dotnetom – 2014-10-05 07:44:30

2

使用count()

這將返回字的每種語言

select language, count(word) as n_words 
from tbl_word 
group by language 

如果你想每語言獨特字的數量的號碼,然後使用此:

select language, count(distinct word) as n_unique_words 
from tbl_word 
group by language