MySQL - 选择DISTINCT,具有不同的计数,相同的表

时间:2014-10-05 07:38:29

标签: mysql sql

如何将以下查询转换为不同的结果,但是使用相同结果返回的单词计数?我可以单独进行查询,但有一种方法可以将它们组合起来。

表很简单,只是(id,info,language)

SELECT DISTINCT(`language`) FROM `info`

很简单,返回所有独特的语言。然而, 如何计算有多少单词具有该语言,并在同一查询中返回。

需要返回的结果示例

语言|计算这种语言的单词数量 langa | 20000个
langb | 10000个
langc | 4000

2 个答案:

答案 0 :(得分:4)

如果要通过聚合数据来实现结果,则需要使用分组。在这种情况下,您可以使用COUNT函数:

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

答案 1 :(得分: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