使用这个数据集:
| RECID | ID | VALUE1 | VALUE2 | VALUE3 | RECDT |
----------------------------------------------------------------------------
| 1 | 1-01 | 1 | 2 | 3 | January, 01 2013 00:00:00+0000 |
| 2 | 1-01 | 3 | (null) | (null) | January, 02 2013 00:00:00+0000 |
| 3 | 1-01 | (null) | (null) | 1 | January, 03 2013 00:00:00+0000 |
是否可以通过简单的查询返回以下结果?
| ID | VALUE1 | VALUE2 | VALUE3 |
-----------------------------------
| 1-01 | 3 | 2 | 1 |
数据集需要根据日期和 PtID 返回每列的最新值。因此,例如,如果我对 2013 年 1 月 2 日之前对 PTID 的所有更改感兴趣,结果将如下所示:
| ID | VALUE1 | VALUE2 | VALUE3 |
-----------------------------------
| 1-01 | 3 | 2 | 3 |
对于任何感兴趣的人,该模式已在sqlfiddle上启动。