【发布时间】:2021-12-28 02:30:45
【问题描述】:
表covidDeaths
Location Date total_cases total_deaths
_______________________________________________________________________
United States 2020-01-22 00:00:00.000 1 NULL
United States 2020-01-23 00:00:00.000 1 0
United States 2020-01-24 00:00:00.000 2 1
United States 2020-01-25 00:00:00.000 2 0
United States 2020-01-26 00:00:00.000 5 3
United States 2021-11-11 00:00:00.000 46851529 58626
United States 2021-11-12 00:00:00.000 46991304 139775
United States 2021-11-13 00:00:00.000 47050502 59198
United States 2021-11-14 00:00:00.000 47074080 23578
我遇到了一个让我有点沮丧的问题。我正在使用名为 covidDeaths 的表中位置为美国的最新日期查找 total_cases 和 total_deaths。我知道您可以使用Max() 函数查找文件中的最新日期,所以我尝试过
SELECT MAX(date) AS "Current Date", total_deaths, total_cases
FROM covidDeaths
WHERE location = 'United States'
GROUP BY total_cases, total_deaths;
我希望它像这样输出一行。
_______________________________________
|Current Date|Total_Deaths|Total_Cases|
|____________|____________|___________|
|2021-11-14 |763092 |47074080 |
|____________|____________|___________|
相反,我得到了
_______________________________________
|Current Date|Total_Deaths|Total_Cases|
|____________|____________|___________|
|2020-01-23 |Null |1 |
|____________|____________|___________|
|2020-01-24 |Null |2 |
|____________|____________|___________|
以此类推,直到达到最大值(日期)。
我使用的是 SQL Server 2019。 我希望有人可以向我解释我做错了什么以及为什么它输出多个日期而不是最新的日期。
【问题讨论】:
-
如前所述^^^我们需要查看您的示例数据。
-
您的“日期”是实际日期还是字符串?
-
@CriticalError 是日期是日期时间数据类型
-
@KenWhite 感谢您对我刚刚编辑的更正,我希望它被认为是可复制的表格。
标签: sql sql-server tsql sql-server-2019