繁体   English   中英

Microsoft Access 2010:为每个LANID选择最新的最大记录ID

[英]Microsoft Access 2010: Select most recent max Record ID for each LANID

我需要根据一些条件过滤掉这些数据。

  1. 对于每个唯一的LANID,一个用户最多可以有2条记录。 一些用户将只有1条记录。
  2. 我需要为每个LANID选择最大记录ID。

在此处输入图片说明

因此,创建一个查询以确定按LANID分组时的max(recordID) ,然后使用第二个查询作为第一个查询作为数据源,将其连接回到基于LANIDmax(recordID)

假设给定行的最后更新日期不重复,那么一种方法是使用相关子查询来获取最后日期,然后获取该行中的其余列:

select sd.*
from sampleData as sd
where sd.RecordId = (select max(sd2.RecordId)
                     from sampleData as sd2
                     where sd2.lanId = sd.lanId
                    );

编辑:

如果您想要最大的记录ID作为最近的更新日期:

select sd.*
from sampleData as sd
where sd.RecordId = (select top 1 sd2.RecordId
                     from sampleData as sd2
                     where sd2.lanId = sd.lanId
                     order by sd2.lastUpdateDate desc, sd2.RecordId desc
                    );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM