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

时间:2015-10-07 15:56:52

标签: sql ms-access

我需要根据某些标准过滤掉这些数据。

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

2 个答案:

答案 0 :(得分:1)

因此,创建一个查询以确定max(recordID)LANID分组,然后使用第一个查询作为数据源将其连接回LANID上的max(recordID)和{{1} }}

答案 1 :(得分:0)

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

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
                    );