如何根据多个计数列出表格中的特定项目?
表国家语言表的形式为
CountryCode, Language, IsOfficial, Percentage**
ABW Dutch T 5.3
AFG Balochi F 0.9
AFG Dari T 32.1
到目前为止我已经给出了这段代码,但这并没有给我正确的输出
select countrycode, Language, IsOfficial, count(*)
from
countrylanguage
group by countrycode
示例输出如下:
示例输出
示例:“Aimara”是玻利维亚和秘鲁的官方语言,智利也使用该语言,但不作为官方语言。所以查询应该返回记录:
Aimara Bolivia T
Aimara Chile F
Aimara Peru T
但例如“南非荷兰语”不应返回,因为它在两个国家(纳米比亚和南非)使用,但仅在一个国家/地区为官方语言。
对于在多个国家/地区作为官方语言的每种语言,如何列出使用该语言的每个国家/地区的名称(表明该语言在该国家/地区是否为官方语言)?
最佳答案
您可以使用带有having和in子句的子查询
select countrycode, Language, IsOfficial
where language in
(select Language
from countrylanguage
where IsOfficial = 'T'
having count(*)>1
group Language )
order by language;
关于MySQL基于多个计数的选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37307141/