gpt4 book ai didi

sql - Access SQL 查询 : find the row with the most recent date for each distinct entry in a table

转载 作者:行者123 更新时间:2023-12-04 10:32:26 24 4
gpt4 key购买 nike

全部,

我确信这是一个非常简单的 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 的“值”,以及最近的“截至”日期(采用 YYYYMM 格式)。

所以,我的结果集应该是这样的:
ID      Value    As_of
1173 156 20090601
127 209 20090301
1271 166 20090201

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

就其值(value)而言,该表总共有大约 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

关于sql - Access SQL 查询 : find the row with the most recent date for each distinct entry in a table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1704260/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com