powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / можно ли задать условие для нумерации строк (row_number)
14 сообщений из 14, страница 1 из 1
можно ли задать условие для нумерации строк (row_number)
    #39687375
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ситуация следующая, у меня есть результирующий набор данных где в колонке может быть null, мне нужно пронумеровать только те строки где нет null.
Данные нужны все (и с нулами и без) а пронумировать надо только те где нет нулов при чем с партитион по колонке kod тобиш
ROW_NUMBER() over(partition by kodr order by trabl_kolumn)
выдает такой результат:

n/n kod sum1 sum2 trabl_kolumn
1 128015107 0 -72,36216 2 NULL
2 128015107 -45,92214 0 2 1276415634
1 128017522 0 0 2 1433121713
2 128017522 13,9158 0 2 1505105387

а мне нужно чтобы выдало так:
n/n kod sum1 sum2 trabl_kolumn
0 128015107 0 -72,36216 2 NULL
1 128015107 -45,92214 0 2 1276415634
1 128017522 0 0 2 1433121713
2 128017522 13,9158 0 2 1505105387

вобщем можно ли partition by указать что групировать и нумеровать только строки которые в колонке trabl_kolumn не равны null?
...
Рейтинг: 0 / 0
можно ли задать условие для нумерации строк (row_number)
    #39687377
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolyady,

можно. используйте CASE
...
Рейтинг: 0 / 0
можно ли задать условие для нумерации строк (row_number)
    #39687380
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина Анна,

можно с примером?
...
Рейтинг: 0 / 0
можно ли задать условие для нумерации строк (row_number)
    #39687382
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolyady,

тестовые данные в удобоиспользуемом виде (with as, create table ... insert, etc.) приведите...
и, желательно, требуемый результат на примере этих тестовых данных...
...
Рейтинг: 0 / 0
можно ли задать условие для нумерации строк (row_number)
    #39687383
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolyady,

Код: sql
1.
SUM(CASE WHEN trabl_kolumn IS NULL THEN 0 ELSE 1 END) OVER (PARTITION BY kod ORDER BY trabl_kolumn)
...
Рейтинг: 0 / 0
можно ли задать условие для нумерации строк (row_number)
    #39687385
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaK,

а чего тогда не DENSE_RANK() ?
...
Рейтинг: 0 / 0
можно ли задать условие для нумерации строк (row_number)
    #39687387
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина Анна,

хотя, без NULLS FIRST | LAST всё одно - не взлетит...
...
Рейтинг: 0 / 0
можно ли задать условие для нумерации строк (row_number)
    #39687392
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина АннаTaPaK,

а чего тогда не DENSE_RANK() ?
даже если бы можно было убрать NULL из ранжирования, всё равно это вообще не в ту сторону
...
Рейтинг: 0 / 0
можно ли задать условие для нумерации строк (row_number)
    #39687424
kolyady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaK,

Спасибо :)
SUM(CASE WHEN trabl_kolumn IS NULL THEN 0 ELSE 1 END) OVER (PARTITION BY kod ORDER BY trabl_kolumn)
То то нужно
тему можно закрывать
...
Рейтинг: 0 / 0
можно ли задать условие для нумерации строк (row_number)
    #39687481
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKдаже если бы можно было убрать NULL из ранжирования, всё равно это вообще не в ту сторонуЕщё раз - без NULLS LAST - не взлетит (хотя, можно и без него, но тогда решение будет более громоздкое).

В целом, имелось ввиду примерно что-то следующее ...
...
Рейтинг: 0 / 0
можно ли задать условие для нумерации строк (row_number)
    #39687488
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина Анна,

и чем тут DENSE_RANK от ROW_NUMBER будет отличаться?
...
Рейтинг: 0 / 0
можно ли задать условие для нумерации строк (row_number)
    #39687697
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKЩукина Анна,

и чем тут DENSE_RANK от ROW_NUMBER будет отличаться?тут не будет отличия между вашим решением и решением на DENSE_RANK.
А вот между вашим решением и исходной трактовкой от автора на ROW_NUMBER-е - разница существенна, в особенности если допускаются дубликаты NOT NULL-ных значений по trabl_kolumn в пределах одного kod...
...
Рейтинг: 0 / 0
можно ли задать условие для нумерации строк (row_number)
    #39687710
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина АннаTaPaKЩукина Анна,

и чем тут DENSE_RANK от ROW_NUMBER будет отличаться?тут не будет отличия между вашим решением и решением на DENSE_RANK.
А вот между вашим решением и исходной трактовкой от автора на ROW_NUMBER-е - разница существенна, в особенности если допускаются дубликаты NOT NULL-ных значений по trabl_kolumn в пределах одного kod...
Разница существенная из-за того что решение тс не правильное и он это озвучивает?
...
Рейтинг: 0 / 0
можно ли задать условие для нумерации строк (row_number)
    #39687717
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaK,

автор пытается перенумеровать строки.
ваше же решение, как и решение на DENSE_RANK - не нумерует строки, а расставляет им ранки.
как по мне - это принципиально разные вещи.
но моё мнение не обязано совпадать с вашим. ровно как и ваше - с моим...
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / можно ли задать условие для нумерации строк (row_number)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]