首页 文章

获取每列的前2个不同值

提问于
浏览
2

我需要为表中的每列选择前2个不同的值 . 根据日期字段选择前2个值 .

Table A
status   id    Col1    Col2      Col3      Date
A        1     Name1   Name4     Name6     1/18/14 5:54
B        1     Name1   Name5     Name6     1/18/14 5:54
B        1     Name2   Name6     Name6     1/12/14 5:54
B        1     Name2   Name6     Name7     10/11/13 3:34

结果:

status   id    Col1    Col2      Col3
A        1     Name1   Name4     Name6
B        1     Name2   Name5     Name7

1 回答

  • 0

    如果这对于sql服务器你可以尝试:

    ;with cte as(
    
    select *,row_number() over(partition by status order by Date desc) as rn from table
    )
    
    select status,id,col1,col2,col3 from cte where rn=1
    

    参见演示

相关问题