假设我想要一个表格,它给我下面的4列数据,但我只想为每个唯一的"ID"使用一行,使用"Date"列只选择每个唯一"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|
Run Code Online (Sandbox Code Playgroud)
您的查询不包含指定的表达式"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;
Run Code Online (Sandbox Code Playgroud)
这样做:
SELECT ID, Type, Code, Date
FROM Emp_Stat_Mon t1
WHERE t1.Date =
(SELECT Max(t2.Date)
FROM Emp_Stat_Mon t2
WHERE t2.ID=t1.ID
GROUP BY t2.ID)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
59390 次 |
| 最近记录: |