【发布时间】:2022-01-20 08:56:03
【问题描述】:
我正在使用一个名为 covid_vaccinations 的表格。
为了简要说明该表,它跟踪了从 2020 年 2 月 xx 日到 2022 年 1 月 XX 日的每一天所有国家/地区的疫苗接种完成情况。
- 国家/地区名称在此表中称为“位置”。
- 国家(位置)也归类在“大陆”列中
为了找到在亚洲完全接种疫苗的人,我使用了以下查询:
SELECT continent,location, MAX(people_fully_vaccinated)
FROM covid_vaccinations
WHERE continent LIKE '%ASIA%'
GROUP BY continent, location
ORDER BY 3 DESC;
我使用了 MAX(),因为
上面的查询给了我想要的结果,见<image 1>
这是我的问题:
如果我只想获得 people_fully_vaccinated 的 GREATEST 结果,我应该如何编写查询?
我在下面尝试过,它给了我与
SELECT location, MAX(peep_f_vacc_asia)
FROM (
SELECT location, MAX(people_fully_vaccinated) as peep_f_vacc_asia
FROM covid_vaccinations
WHERE continent LIKE '%ASIA%'
GROUP BY continent,location
) A
GROUP BY location
ORDER BY 2 DESC;
我希望看到的期望结果将只有一行,中国(其中 people_fully_vaccinated 的人数最多)
非常感谢你们......
【问题讨论】:
-
在您下单后,您可以添加
limit 1,这将只显示1条记录
标签: mysql sql mysql-workbench