cre*_*gox 6 sql sql-server group-by
跟随/复制computhomas的问题,但添加了一些曲折......
我在MSSQL2008中有下表
id | business_key | result | date
1 | 1 | 0 | 9
2 | 1 | 1 | 8
3 | 2 | 1 | 7
4 | 3 | n | 6
5 | 4 | 1 | 5
6 | 4 | 0 | 4
Run Code Online (Sandbox Code Playgroud)
现在我想基于business_key进行分组,返回带有最新日期的完整条目.所以我的预期结果是:
id | business_key | result | date
1 | 1 | 0 | 9
3 | 2 | 1 | 7
4 | 3 | n | 6
5 | 4 | 1 | 5
Run Code Online (Sandbox Code Playgroud)
我还打赌有一种方法可以实现这一点,我现在无法找到/看到/想到它.
编辑:对不起,我实际上是从我做过的原始问题中得到的其他东西.我觉得编辑这可能比接受解决方案和提出另一个问题更好.我最初的问题是我没有按ID过滤.
Luk*_*keH 15
SELECT t.*
FROM
(
SELECT *, ROW_NUMBER() OVER
(
PARTITION BY [business_key]
ORDER BY [date] DESC
) AS [RowNum]
FROM yourTable
) AS t
WHERE t.[RowNum] = 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5470 次 |
| 最近记录: |