Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / можно ли задать условие для нумерации строк (row_number) / 14 сообщений из 14, страница 1 из 1
14.08.2018, 12:09
    #39687375
kolyady
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли задать условие для нумерации строк (row_number)
Ситуация следующая, у меня есть результирующий набор данных где в колонке может быть 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
14.08.2018, 12:10
    #39687377
Щукина Анна
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли задать условие для нумерации строк (row_number)
kolyady,

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

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

тестовые данные в удобоиспользуемом виде (with as, create table ... insert, etc.) приведите...
и, желательно, требуемый результат на примере этих тестовых данных...
...
Рейтинг: 0 / 0
14.08.2018, 12:14
    #39687383
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли задать условие для нумерации строк (row_number)
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
14.08.2018, 12:16
    #39687385
Щукина Анна
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
можно ли задать условие для нумерации строк (row_number)
TaPaK,

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

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

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

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

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

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

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

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

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


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