【发布时间】:2021-01-25 07:34:09
【问题描述】:
我有一张表,我想在其中提取除最近日期之外的所有日期。我尝试了以下方法,但它给了我一个错误“聚合可能不会出现在 WHERE 子句中,除非它位于 HAVING 子句或选择列表中包含的子查询中”
这是我尝试过的:
SELECT
groupId,
Types,
MAX(Dates) as date
FROM TableData
Where Dates < Max(dates)
GROUP BY
groupId,
Types
//The table looks as follows:
ID | GroupID | Date
1 | A | 10-10-2020 -> don't show
2 | A | 09-10-2020
3 | A | 08-10-2020
4 | B | 10-10-2020 -> don't show
5 | B | 09-10-2020
6 | B | 08-10-2020
//Expected result:
GroupID | Date
A | 09-10-2020
A | 08-10-2020
B | 09-10-2020
B | 08-10-2020
【问题讨论】:
标签: sql sql-server subquery greatest-n-per-group window-functions