我希望对此有一些新的看法。我一直试图在一天中的最佳时刻解决这个疑问,但仍然无法找到答案。 使用SQL Server 2012。
我有数据表
我想要的是每个sourcerecordID的最大版本号的recordID列表
从上面的例子我会得到2,5,7,9,10 就像我说的那样,我真的不知道如何得到这个结果所以任何帮助都值得赞赏
答案 0 :(得分:1)
这很容易。使用ROW_NUMBER
窗口功能
Select recordID From
(
select row_number()over(partition by sourcerecordID Order by versionnumber desc) RN,*
From yourtable
)A
Where RN = 1
答案 1 :(得分:0)
您提出的问题和您需要的结果不匹配。
这是你问的问题的答案。
select SourceRecordId,max(VersionNumber) VersionNumber from ver
group by SourceRecordId