如何使用 SQL 在 CTE 中使用 MAX
How to use MAX in CTE using SQL
我正在尝试使用 CTE 和 MAX 函数来查找一组国家/地区中的最高数字。最终,在此 table 中,试图通过对“新疫苗”求和来找出每个国家/地区的疫苗接种总数。到目前为止,这是我的代码:
WITH VacGDP (Location, gdp_per_capita, Total_Shots) AS
(
SELECT
Location, CovidVaccinations.gdp_per_capita,
SUM(CAST(New_vaccinations AS bigint)) AS Total_Shots
FROM
CovidVaccinations
WHERE
Continent IS NOT NULL
GROUP BY
Location, gdp_per_capita, New_vaccinations
)
SELECT
Location, MAX(Total_Shots) AS Total_Shots
FROM
VacGDP
GROUP BY
Location, Total_Shots
ORDER BY
Location, Total_Shots DESC
这个returns下面table:
Location
Total_Shots
Afghanistan
6868
Afghanistan
4015
Afghanistan
2859
Afghanistan
NULL
我最终想只用一行显示阿富汗 6868,所以这个数据库中每个国家一行。
我确定这是非常容易解决的问题,但我有点迷路了!
- 通过
从您的 CTE 组中删除 New_Vaccinations
- 从您的群组中删除 total_shots 并按以下方式订购。
你还提到你想每天查看但代码中没有日期 filters/indicators?
我正在尝试使用 CTE 和 MAX 函数来查找一组国家/地区中的最高数字。最终,在此 table 中,试图通过对“新疫苗”求和来找出每个国家/地区的疫苗接种总数。到目前为止,这是我的代码:
WITH VacGDP (Location, gdp_per_capita, Total_Shots) AS
(
SELECT
Location, CovidVaccinations.gdp_per_capita,
SUM(CAST(New_vaccinations AS bigint)) AS Total_Shots
FROM
CovidVaccinations
WHERE
Continent IS NOT NULL
GROUP BY
Location, gdp_per_capita, New_vaccinations
)
SELECT
Location, MAX(Total_Shots) AS Total_Shots
FROM
VacGDP
GROUP BY
Location, Total_Shots
ORDER BY
Location, Total_Shots DESC
这个returns下面table:
Location | Total_Shots |
---|---|
Afghanistan | 6868 |
Afghanistan | 4015 |
Afghanistan | 2859 |
Afghanistan | NULL |
我最终想只用一行显示阿富汗 6868,所以这个数据库中每个国家一行。
我确定这是非常容易解决的问题,但我有点迷路了!
- 通过 从您的 CTE 组中删除 New_Vaccinations
- 从您的群组中删除 total_shots 并按以下方式订购。
你还提到你想每天查看但代码中没有日期 filters/indicators?