在时间戳事件列表中查找单个最新项
在记录事件的表格中,通常有一个日期时间字段记录事件发生的时间。查找单个最近的事件可能很困难,因为始终可能记录两个事件,时间戳完全相同。你可以使用 row_number()
over(order by …)来确保所有记录都是唯一排名的,并选择前一个(my_ranking = 1)
select *
from (
select
*,
row_number() over (order by crdate desc) as my_ranking
from sys.sysobjects
) g
where my_ranking=1
此相同技术可用于从具有可能重复值的任何数据集返回单个行。