例如,我需要将orderbydate列的groupbyname列与最新的组放在一起
数据:
name|status|date
john|read |07/23/2020
matt|read |07/23/2020
john|print |07/24/2020
matt|print |07/24/2020
应显示为:
name|status|date
john|print |07/24/2020
john|read |07/23/2020
matt|print |07/24/2020
matt|read |07/23/2020
请帮助我。
我目前的尝试:
;with cte as(
select status,name, date,
ROW_NUMBER() OVER(PARTITION BY name ORDER BY date desc) RowID
from @tbl
)
select status,name,timeStamp from cte
order by timeStamp desc,RowID desc
3条答案
按热度按时间fwzugrvs1#
可以使用窗口函数:
fkaflof62#
我猜你在找
这是一把小提琴
mec1mxoz3#
可以在中使用窗口函数
order by
. 但是当有联系的时候,你可能也想把名字放在一起,所以你需要三个键:请注意,您也可以使用其他领带断路器。例如,当两个名称具有相同的最新日期时,您可以将具有最新最早日期的名称放在具有附加键的第一位: