如何为每个组提取最新创建的行?

时间:2016-10-19 02:36:50

标签: sql-server

我在下面有一个表格,我想通过Opportunity_Id对数据进行分组,并为每个Opportunity_Id选择最新的CreatedDate行。我根据具体情况使用局部变量和表类型加载。还有其他更有效的方法,比如只使用一组查询来实现相同的结果吗?谢谢堆

enter image description here

1 个答案:

答案 0 :(得分:0)

SELECT *
FROM (
    SELECT *,
           row_number() over (partition by opportunity_id 
                              order by Created_Date desc) rn
    FROM yourTable
    ) T
WHERE T.rn = 1