TSQL分组和按行顺序排列的行数

时间:2018-01-21 16:13:00

标签: sql sql-server tsql

我有一个包含以下参数的表:seq_num - 机器的标识列,序列号 - 序列号,UniqueVPD - 序列号和时间的组合,以及拍卖运行时的时间。

我正在尝试创建一个tsql脚本,该脚本将使用相同的序列和不同的UniqueVPD对行进行分组,并将它们从具有最早日期和/或最早日期的行编号到最新日期,例如在提供的样本表,行将编号为1到5

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以使用Row_Number窗口功能

select Num = Row_number()Over(Partition by serial order by [time]), *
from yourtable

更新,

with cte as 
(
select Num = Row_number()Over(Partition by serial order by [time]), *
from yourtable
)
update cte set Numberofruns = Num