我目前正在开展一个项目并遇到了问题。我需要按语言按升序显示口语相同的国家/地区。我的问题是它只会显示一行。我的代码到目前为止。
SELECT country, language, population, count(*)
FROM demographics
GROUP BY language ASC
having count(*) > 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;