所有,
我确信这是一个非常简单的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
...
Run Code Online (Sandbox Code Playgroud)
我想得到的是每个唯一ID的"值",其中包含最新的"截止日期"(采用YYYYMM格式).
所以,我的结果集应如下所示:
ID Value As_of
1173 156 20090601
127 209 20090301
1271 166 20090201
Run Code Online (Sandbox Code Playgroud)
请注意,不同的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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
33016 次 |
| 最近记录: |