Я хочу создать уникальный номер строки, привязанный к SerialNumber, VersionId и VersionDate; Единственное предостережение: если версия возвращается к старой версии, я хочу перезапустить Srno с 1. Короче, вместо SrNo 5 и 6, мне нужны 1 и 2. Любая помощь по этому вопросу очень ценится.
create table #t1 ( SerialNumber int, VersionId int, VersionDate datetime)
insert into #t1 ( SerialNumber, VersionId, VersionDate )
values ( 13000, 1,'2018-06-01 11:09:41'),
( 13000,1,'2018-06-01 11:39:41 '),(13000,1,'2018-06-01 12:09:41'),(13000,1,'2018-06-01 12:39:41'),(13000,2,'2018-06-01 13:09:42'),(13000,2,'2018-06-01 13:39:42'),(13000,1,'2018-06-01 14:01:42'),(13000,1,'2018-06-01 14:51:40')
select SerialNumber,VersionId , VersionDate, rank() OVER( PARTITION BY SerialNumber,VersionId ORDER BY VersionDate) As SrNo
FROM #t1
order by VersionDate
SerialNumber VersionId VersionDate SrNo
13000 1 2018-06-01 11:09:41.000 1
13000 1 2018-06-01 11:39:41.000 2
13000 1 2018-06-01 12:09:41.000 3
13000 1 2018-06-01 12:39:41.000 4
13000 2 2018-06-01 13:09:42.000 1
13000 2 2018-06-01 13:39:42.000 2
13000 1 2018-06-01 14:01:42.000 5
13000 1 2018-06-01 14:51:40.000 6