2016-07-06 127 views
0

我希望对此有一些新鲜的眼光。我一直试图将这个查询放在一天中最好的部分,仍然无法找出答案。 使用SQL Server 2012根据最大值得到过滤列表的SQL查询

我有一个数据表

enter image description here

我想离开是sourcerecordID

每个最大版本号的recordId名单从上面的例子,我会得到2,5,7,9,10 就像我说的,我真的很茫然如何得到这个结果,所以任何帮助表示赞赏

回答

1

这是相当e ASY。使用ROW_NUMBER窗口功能

Select recordID From 
(
select row_number()over(partition by sourcerecordID Order by versionnumber desc) RN,* 
From yourtable 
)A 
Where RN = 1 
+0

到底是什么我后。不知道关于“结束” – Hursey

0

你问的问题和你需要的结果是不匹配的。

这里是你问的问题的答案。

select SourceRecordId,max(VersionNumber) VersionNumber from ver 
group by SourceRecordId 
+0

感谢您查看它,道歉我的问题中的错误。但是,您的解决方案不符合要求。我需要最大版本号的recordID。这只会提供sourcerecordID – Hursey