SQL 查找每个唯一 ID 的最新记录
SQL Find most recent record for each unique ID
MS Access,想要根据最近的日期查询每条唯一的记录 ID,以及第三个条件,其中另一列记录 ID 分数小于 60
样本table:
记录ID
得分
日期
1
80
2020 年 1 月 1 日
1
60
1/1/2021
2
80
2020 年 1 月 1 日
2
60
1/1/2021
查询将拉取:
记录ID
得分
日期
1
60
1/1/2021
2
60
1/1/2021
我最初尝试只提取记录 ID 和最近日期作为起点:
SELECT RecordID, MAX(date)
FROM table
GROUP BY RecordID;
但它所做的只是return我
记录ID
日期
无
1/1/2021
提前感谢您的帮助。
如果您希望分数 60 出现在您的查询结果中,条件必须小于或等于 60。
然后代码是:
SELECT Table.RecordID, Table.Score, Max(Table.Date) AS MaxDate
FROM [Table]
WHERE (((Table.Score)<=60))
GROUP BY Table.RecordID, Table.Score;
MS Access,想要根据最近的日期查询每条唯一的记录 ID,以及第三个条件,其中另一列记录 ID 分数小于 60
样本table:
记录ID | 得分 | 日期 |
---|---|---|
1 | 80 | 2020 年 1 月 1 日 |
1 | 60 | 1/1/2021 |
2 | 80 | 2020 年 1 月 1 日 |
2 | 60 | 1/1/2021 |
查询将拉取:
记录ID | 得分 | 日期 |
---|---|---|
1 | 60 | 1/1/2021 |
2 | 60 | 1/1/2021 |
我最初尝试只提取记录 ID 和最近日期作为起点:
SELECT RecordID, MAX(date)
FROM table
GROUP BY RecordID;
但它所做的只是return我
记录ID | 日期 |
---|---|
无 | 1/1/2021 |
提前感谢您的帮助。
如果您希望分数 60 出现在您的查询结果中,条件必须小于或等于 60。
然后代码是:
SELECT Table.RecordID, Table.Score, Max(Table.Date) AS MaxDate
FROM [Table]
WHERE (((Table.Score)<=60))
GROUP BY Table.RecordID, Table.Score;