首页 > 解决方案 > 在 SQL 中使用连接克隆的 ID

问题描述

我有一个如下表:

在此处输入图像描述

在此表中,对于同一个 CID,CVID 会被克隆多次。所以对于最新的 CVID,我想显示最旧的日期。我想要的输出应该是:

在此处输入图像描述

Rextester 链接:http ://rextester.com/ENVH45805

标签: sqlsql-serversql-server-2008join

解决方案


您可以使用row_nunmber窗口函数为同一行中的每一行分配一个数字cvid,然后取第一个:

SELECT cid, cvid, cloned_cvid, _date
FROM   (SELECT cid, cvid, cloned_cvid, _date, 
               RANK() OVER (PARTITION BY cvid ORDER BY _date ASC) AS rn
        FROM   #temp1) t
WHERE  rn = 1        

推荐阅读