【发布时间】:2025-12-20 15:25:14
【问题描述】:
我有一个包含以下数据的示例表
示例表
| ID | DATE | NAME |
|---|---|---|
| 9 | 2021-04-13 21:39:00.569000 | ABC |
| 8 | 2020-12-17 16:49:17.903000 | ABC |
| 7 | 2020-12-16 16:49:17.903000 | ABC |
| 6 | 2020-06-09 09:55:52.005000 | WER |
| 5 | 2020-06-09 09:55:52.004000 | WER |
| 4 | 2020-06-08 09:48:43.318000 | YTG |
| 3 | 2020-06-05 14:51:42.860000 | YTG |
| 2 | 2020-04-28 13:58:30.972000 | YTG |
| 1 | 2020-04-25 13:58:30.972000 | ABC |
而且我想为表中的每个不同名称获取它的最大日期,直到找到一个不同的名称。所以结果集一定是这样的
预期输出
| ID | DATE | NAME |
|---|---|---|
| 9 | 2021-04-13 21:39:00.569000 | ABC |
| 6 | 2020-06-09 09:55:52.005000 | WER |
| 4 | 2020-06-08 09:48:43.318000 | YTG |
| 1 | 2020-04-25 13:58:30.972000 | ABC |
我尝试了如下的sql查询,没有结果。
select NAME
from
(
select NAME, max(DATE) - min(DATE) as diff
from Example_Table
group by NAME
) ex
order by diff desc;
【问题讨论】:
-
您的查询和预期的输出彼此无关。您想要每个名称的最大日期(您的查询,至少是一种)还是每个名称的最大日期的完整行(您的预期输出)?
标签: sql oracle performance