我有一个表tbl_Partner
(缩短)“重复”的合作伙伴:TSQL-加入,有两个选择最新的行只
RecordID (GUID) | RISEID (varchar(40)) | UpdateCounter(int) | etc. ...
-----------------------------------------------------------
12345678-9012-3456-7890-123456789012 | RISE123 | 0
87564321-9012-3456-7890-123456789012 | RISE123 | 1
-- other partners with different updatecounters etc.
现在我需要它有最新数据为每个合作伙伴视图(最高UpdateCounter),但第一的recordId(最低UpdateCounter)
我想这已经SQL:
select
(select top 1 recordid from tbl_partner p2 where p2.riseid=p1.riseid order by p2.updatecounter ASC) as RecordID
, riseid, updatecounter
from tbl_partner p1
order by riseid
我得到:
RecordID (GUID) | RISEID (varchar(40)) | UpdateCounter(int)
-----------------------------------------------------------
12345678-9012-3456-7890-123456789012 | RISE123 | 0 --(old data)
12345678-9012-3456-7890-123456789012 | RISE123 | 1 --(new correct data with the first RecordID)
-- other rows/columns omitted
如何才能为每个RecordID/RiseID选择最新的行? (在这个例子中UpdateCounter = 1)
备案: UpdateCounter可以是别的不是1,当然还有其他数据集具有不同的值。所以我不能使用简单的WHERE updatecounter>0
。
什么是你需要的输出是什么样子?请给我们更多的样品数据 – gbn