Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Нумерация одинаковых строк  [new]
kolyady
Member

Откуда:
Сообщений: 137
Если партишинал делать то пронумерует
1 1
1 2
2 1
3 1
3 2
4 1
1 3
2 2
3 3
4 2

А МНЕ НАДО
1 1
1 2
2 1
3 1
3 2
4 1
1 1
2 1
3 1
4 1

Тобиш чтобы нумеровались только смежние строки если есть разрыв то нумерация начиналась с начала
28 сен 17, 16:38    [20829577]     Ответить | Цитировать Сообщить модератору
 Re: Нумерация одинаковых строк  [new]
Шыфл
Member

Откуда: Прага
Сообщений: 774
kolyady,

Ну так сформулируйте свой разрыв популярно для сервера в partition by и order by понятиях. Откуда вы знаете, что там разрыв, может его там нет, как думает сервер?
28 сен 17, 17:04    [20829691]     Ответить | Цитировать Сообщить модератору
 Re: Нумерация одинаковых строк  [new]
iap
Member

Откуда: Москва
Сообщений: 46952
WITH T AS(SELECT * FROM(VALUES
 (1,1)
,(2,1)
,(3,4)
,(4,3)
,(5,3)
,(6,2)
,(7,1)
,(8,2)
,(9,3)
,(10,4)
,(11,4))T(id,x))
,D AS(SELECT N=ROW_NUMBER()OVER(ORDER BY id)-ROW_NUMBER()OVER(PARTITION BY x ORDER BY id),* FROM T)
SELECT id,x,N,y=ROW_NUMBER()OVER(PARTITION BY N,x ORDER BY x)
FROM D
ORDER BY id;
28 сен 17, 17:10    [20829715]     Ответить | Цитировать Сообщить модератору
 Re: Нумерация одинаковых строк  [new]
iap
Member

Откуда: Москва
Сообщений: 46952
kolyady,

прав Шыфл. Что определяет именно такую последовательность записей?
Я-то вот специально поле id в ответе придумал.
28 сен 17, 17:12    [20829722]     Ответить | Цитировать Сообщить модератору
 Re: Нумерация одинаковых строк  [new]
kolyady
Member

Откуда:
Сообщений: 137
iap,
Спасибо реально выручил, я уже пол дня пытаюсь пронумеровать
28 сен 17, 17:56    [20829890]     Ответить | Цитировать Сообщить модератору
 Re: Нумерация одинаковых строк  [new]
Руслан Дамирович
Member

Откуда: Резиновая нерезиновая
Сообщений: 940
kolyady,

надо было не думать, а гуглить ISLANDS and GAPS. этой проблеме уже с полсотни лет.
28 сен 17, 19:37    [20830072]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить