访问SQL查询:查找表中每个不同条目的最近日期的行

前端之家收集整理的这篇文章主要介绍了访问SQL查询:查找表中每个不同条目的最近日期的行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所有,

我确信这是一个非常简单的SQL查询问题,但我确信这是一种很好的方法,也是一种非常糟糕的方法.留给我自己的设备,我很可能最终得到后者.所以…

我在Access中有一个表,其数据如下所示:

ID      Value  As_of
1173    156    20090601
1173    173    20081201
1173    307    20080901
1173    305    20080601
127     209    20090301
127     103    20081201
127     113    20080901
127     113    20080601
1271    166    20090201
1271    172    20081201
1271    170    20080901
1271    180    20080601
...

我想得到的是每个唯一ID的“Value”,其中包含最新的“As Of”日期(采用YYYYMM格式).

所以,我的结果集应如下所示:

ID      Value    As_of
1173    156      20090601
127     209      20090301
1271    166      20090201

请注意,不同的ID将具有不同的“截止日期”日期.换句话说,我不能简单地识别全球最新的,然后选择该日期的每一行.

对于它的价值,该表总共有大约200,000行,以及大约10,000个唯一ID.

提前谢谢了!

解决方法

如果您需要日期和值,则需要进行连接:
SELECT ID,Value,As_of 
from yourTable a inner join 
          (SELECT ID,MAX(As_of) as As_of 
          from yourTable group by ID) b 
on a.ID=b.ID and a.As_of = b.As_of

猜你在找的MsSQL相关文章