假设我想要一个表格,它可以为我提供下面的 4 列数据,但我只希望每个唯一“ID”有一行,使用“日期”列仅选择每个唯一“ID”的最新日期:
|--ID--|-Type-|-Code-|--Date--|
| 1 | A | 11 |11/07/13|
| 2 | A | 11 |11/07/13|
| 2 | B | 12 |10/07/13| <-- don't want this record from ID=2 as
| 3 | A | 11 |11/07/13| there is a more recent date for it
| 4 | A | 10 |11/07/13| than 10/07/2013
| 5 | A | 11 |11/07/13|
我尝试调整似乎是针对类似问题的答案,但出现以下错误:
您的查询不包含作为聚合函数一部分的指定表达式“ID”
这是我尝试在 Access 中运行的那个 SQL 的改编版本:
SELECT ESM.ID, ESM.Type, ESM.Code, ESM.Date
FROM Emp_Stat_Mon As ESM
INNER JOIN
(
SELECT ID, MAX(Date) AS MaxDate
FROM Emp_Stat_Mon
GROUP BY ID
) groupedESM ON ESM.ID = groupedESM.ID AND ESM.Date = groupedESM.MaxDate;