选择值不止一次存在的位置

时间:2014-12-14 04:29:57

标签: mysql

我目前正在开展一个项目并遇到了问题。我需要按语言按升序显示口语相同的国家/地区。我的问题是它只会显示一行。我的代码到目前为止。

SELECT country, language, population, count(*)
FROM demographics
GROUP BY language ASC
having count(*) > 1;

我想只显示共享语言的国家,所以如果我有美国,英格兰都有英语,葡萄牙和巴西都有葡萄牙语,我只想要显示这四行。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

您可以将您拥有的查询作为子查询使用,并将人口统计表加入其中。像这样:

SELECT  d.*

FROM    demographics as d

JOIN 
(
SELECT language
FROM demographics
GROUP BY language ASC
having count(*) > 1
) as dups ON d.language = dups.language

ORDER BY language, country;