加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 06:53:51 所属栏目:MsSql教程 来源:网络整理
导读:所有, 我确信这是一个非常简单的SQL查询问题,但我确信这是一种很好的方法,也是一种非常糟糕的方法.留给我自己的设备,我很可能最终得到后者.所以… 我在Access中有一个表,其数据如下所示: ID Value As_of1173 156 200906011173 173 200812011173 307 20080901
所有,

我确信这是一个非常简单的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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读