【问题标题】:How get unique and latest records from ms access query?如何从 ms 访问查询中获取唯一和最新记录?
【发布时间】:2021-11-16 19:52:12
【问题描述】:

表名 - TotalPendinglist

ID    DAY      VOLNO   REGSNO   FULLCODE
1  21-09-2021  vol 2     165    65-55-0256890
2  21-09-2021  vol 1     223    52-00-0458966
3  05-08-2020  vol 2     165    65-55-0256895
4  30-06-2019  vol 3     88     88-00-5689454
5  30-06-2019  vol 1     365    00-45-6489756
6  01-12-2018  vol 3     88     88-00-5689454

我需要的结果

ID    DAY      VOLNO   REGSNO   FULLCODE
1  21-09-2021  vol 2     165    65-55-0256890
2  21-09-2021  vol 1     223    52-00-0458966
3  05-08-2020  vol 2     165    65-55-0256895
4  30-06-2019  vol 3     88     88-00-5689454
SELECT *
FROM TotalPendingList As M
WHERE Exists(SELECT 1 FROM TotalPendingList WHERE ID=M.ID HAVING M.DAY=Max(Day))

上面的代码抛出语法错误

【问题讨论】:

  • 如果 VOLNO 和 REGSNO 匹配,则必须显示基于 DAY 的最新记录

标签: sql ms-access


【解决方案1】:

这应该做你想做的:

SELECT M.*
FROM TotalPendingList As M
WHERE m.ID = (SELECT MIN(m2.ID)
              FROM TotalPendingList as M2
              WHERE M2.DAY = M.Day
             );

您的版本有几个错误,从第一个 SELECT 开始。您已将该表重命名为 M,因此您的版本不起作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多