如何使用 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?