Quantcast
Channel: SQL.ru: Microsoft SQL Server
Viewing all articles
Browse latest Browse all 7251

Запрос с ранжированием

$
0
0
Всем доброго времени суток.
Небольшой примерчик:
create table #test (id int, dt datetime)

insert into #test values (1, GETDATE()-5)
insert into #test values (1, GETDATE()-4)
insert into #test values (2, GETDATE()-3)
insert into #test values (1, GETDATE()-2)
insert into #test values (3, GETDATE()-1)
insert into #test values (3, GETDATE())
	
select * 
,DENSE_RANK() OVER (ORDER BY id) AS drnk
from #test order by dt 

drop table #test

Получается:
iddtdrnk
12017-02-23 08:29:39.5901
12017-02-24 08:29:39.5901
22017-02-25 08:29:39.5902
12017-02-26 08:29:39.5901
32017-02-27 08:29:39.5903
32017-02-28 08:29:39.5903

А нужно, чтобы при каждом изменении id добавлялся номер:
iddtdrnk
12017-02-23 08:29:39.5901
12017-02-24 08:29:39.5901
22017-02-25 08:29:39.5902
12017-02-26 08:29:39.5903
32017-02-27 08:29:39.5904
32017-02-28 08:29:39.5904

Как сделать быстро без курсоров, временных таблиц, inner join и outer apply?

SQL 2008 R2

Viewing all articles
Browse latest Browse all 7251

Trending Articles