Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Гооооооссттььб
Guest |
Есть набор записей 11 12 33 44 15 100 100 2 3 4 100 хочу пронумеровать следующим образом 11 1 12 2 33 3 44 4 15 5 100 1 100 1 2 2 3 3 4 4 100 1 Т.е. критерием новой нумерации является не группа, а появления значения 100. Спасибо. |
4 ноя 13, 11:39 [15073818] Ответить | Цитировать Сообщить модератору |
Maxx Member [скрыт] Откуда: Сообщений: 24290 |
Гооооооссттььб, а почему тогда 11 имеет тоже номер 1 ? |
4 ноя 13, 11:42 [15073826] Ответить | Цитировать Сообщить модератору |
Ivan Durak Member Откуда: Minsk!!! Сообщений: 3646 |
они у вас "есть" неупорядоченные!!!!!! вам надо определить критерий их порядка |
||
4 ноя 13, 12:00 [15073861] Ответить | Цитировать Сообщить модератору |
Гооооооссттььб
Guest |
Потому что 11 это первый элемент. Критерием начала группы является цифра 100.
Нет порядка. Есть критерий. хотя можно их и упорядочить что это даст ? |
||
4 ноя 13, 12:51 [15073987] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Как тогда нумеровать по-вашему ? |
||
4 ноя 13, 12:52 [15073991] Ответить | Цитировать Сообщить модератору |
Гооооооссттььб
Guest |
Группой является интервал до цифры 100. Вообще как делать нумерацию по критерию ? |
4 ноя 13, 12:53 [15073992] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Нумерация делается по какому-то порядку. С возможностью секционирования. Услоиве секционирования вы определили - "Группой является интервал до цифры 100." А вот порядок следования - нет. |
||
4 ноя 13, 12:57 [15073998] Ответить | Цитировать Сообщить модератору |
qwerty112
Guest |
это - всё даст declare @t table (id int identity, num int) insert into @t (num) select 11 union all select 12 union all select 33 union all select 44 union all select 15 union all select 100 union all select 100 union all select 2 union all select 3 union all select 4 union all select 100 select *, row_number() over(partition by (select count(*) from @t t2 where t2.num=100 and t2.id<=t1.id) order by t1.id) as xz from @t t1 id num xz ----------- ----------- -------------------- 1 11 1 2 12 2 3 33 3 4 44 4 5 15 5 6 100 1 7 100 1 8 2 2 9 3 3 10 4 4 11 100 1 (11 row(s) affected) |
||
4 ноя 13, 13:00 [15074005] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47047 |
|
||
4 ноя 13, 13:00 [15074007] Ответить | Цитировать Сообщить модератору |
Гооооооссттььб
Guest |
2qwerty112 Это то что нужно спасибо. 2iap - цифра 100 это условно, просто по какому то критерию. |
4 ноя 13, 13:26 [15074077] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47047 |
Я понимаю, когда так говорят гуманитарии по телевизору. Но программист... |
||
4 ноя 13, 13:32 [15074084] Ответить | Цитировать Сообщить модератору |
Гооооооссттььб
Guest |
2Iap Вы о чем ? Интересовало разбиение на группы не просто по полю а по какому то критерию. |
4 ноя 13, 13:38 [15074095] Ответить | Цитировать Сообщить модератору |
пояснитель
Guest |
iap, метать бисер перед свиньями -- дело неблагодарное. для тех кто в танке, iap про разницу между ЧИСЛОМ и ЦИФРОЙ. цифр всего 10: 0,1,2,3,4,5,6,7,8,9 ну и гость, б..., пардоньте мой френч |
4 ноя 13, 14:04 [15074167] Ответить | Цитировать Сообщить модератору |
Гооооооссттььб
Guest |
Да ладно вам :) просто не обратил на это внимание :) Что на каждом шагу у всех математика ? ЗЫ. Но это уже оффтоп :) |
4 ноя 13, 14:26 [15074263] Ответить | Цитировать Сообщить модератору |
Ivan Durak Member Откуда: Minsk!!! Сообщений: 3646 |
как же определить что он "ПЕРВЫЙ" если порядка нет??? |
||
4 ноя 13, 15:54 [15074538] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47047 |
Разве серверу это не очевидно? Он что, дурак что ли?! |
||||
4 ноя 13, 16:02 [15074563] Ответить | Цитировать Сообщить модератору |
пояснитель
Guest |
есть у него id, иначе как бы ТС смог одобрить решение от qwerty112? просто ТС никак не сообразит, что от него просят подтвердить наличие этого самого id, для него "порядок" имеет какой-то другой смысл |
||||
4 ноя 13, 16:06 [15074577] Ответить | Цитировать Сообщить модератору |
Гооооооссттььб
Guest |
Ух как страсти разыгрались :) Да, есть id. Если задел чьи то чувства, айм сорри :) |
4 ноя 13, 16:36 [15074698] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |