我是SQL的新手,因为我正在学习入门课程。我已经阅读了我的教科书,并在网上找到了尽可能多的资料...
我有一个表[Language],其中包含列Language.Country,Language.Name和Language.Percentage。 这是所有国家/地区,其使用的语言以及说每种语言的发言人所占百分比的列表。
我的任务是使用子查询显示每个国家/地区最常用的语言。
我尝试过的一件事:
SELECT Country, MAX(Percentage) AS Percentage
FROM Language
GROUP BY Country;
哪个确实返回了正确的答案,但是我无法显示与该百分比相对应的语言的名称,也看不到如何使用子查询来获得正确的结果。这让我有点发疯了,tbh。
任何帮助将不胜感激。
答案 0 :(得分:0)
您的子查询应返回相应国家/地区中最常用的语言,即按降序返回第一行顺序。
SELECT
Country
, MAX(Percentage) AS Percentage
, (select top 1 Name from Language i where i.Country = l.Country order by Percentage desc) as MostCommonLanguage
FROM Language l
GROUP BY Country;