Форум программистов, компьютерный форум, киберфорум
PostgreSQL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
2 / 2 / 1
Регистрация: 16.04.2022
Сообщений: 958

RANK + null

25.07.2024, 11:59. Показов 243. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!

В MS SQL есть такой код
Кликните здесь для просмотра всего текста
SQL Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
CREATE TABLE #myTempTable1 ([column1] VARCHAR(10), [column2] VARCHAR(10), [column3] FLOAT);
INSERT INTO #myTempTable1 VALUES
('a', 'aa', 0.06)
,('a', 'ab', 0.12)
,('a', 'ac', 0.17)
,('a', 'ab', 3.43)
,('a', 'ab', NULL)
,('a', 'ab', NULL)
;
 
SELECT
    [column1],
    [column2],
    [column3],
    RANK() OVER (PARTITION BY [column1] ORDER BY [column3] DESC) AS [column4]
FROM
    #myTempTable1;

Выдает такой результат
column1 column2 column3 column4
a ab 3,43 1
a ac 0,17 2
a ab 0,12 3
a aa 0,06 4
a ab NULL 5
a ab NULL 5
Результат верный.

В PostgreSQL
Кликните здесь для просмотра всего текста
SQL Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
CREATE TABLE temp_myTempTable1 ("column1" VARCHAR(10), "column2" VARCHAR(10), "column3" FLOAT8);
INSERT INTO temp_myTempTable1 VALUES
('a', 'aa', 0.06)
,('a', 'ab', 0.12)
,('a', 'ac', 0.17)
,('a', 'ab', 3.43)
,('a', 'ab', NULL)
,('a', 'ab', NULL)
;
 
SELECT
    "column1",
    "column2",
    "column3",
    RANK() OVER (PARTITION BY "column1" ORDER BY "column3" DESC) AS "column4"
FROM
    temp_myTempTable1;

Выдает такой результат
column1 column2 column3 column4
a ab NULL 1
a ab NULL 1
a ab 3,43 3
a ac 0,17 4
a ab 0,12 5
a aa 0,06 6

Скажите, как правильно написать, чтобы результат быль как у MS SQL?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.07.2024, 11:59
Ответы с готовыми решениями:

Как сделать, чтобы в оконном алгоритме NULL было не равно NULL?
Всем привет. Вопрос темы поясняю на примере. Пример вымышленный. Вот таблица: CREATE TABLE player ( id bigserial NOT NULL, ...

UPDATE SELECT, ERROR: null value in column violates not-null constraint
Здравствуйте. Две таблицы, из одной значением integer модифицируется int другой таблицы. В таблице-приёмнике ограничение NOT NULL. ...

Как правильно использовать функцию RANK для подсчитываемых полей
Здравствуйте. Само задание звучит так: Для каждого района показать его ранг (место) в списках ранжирования по: – количеству...

2
 Аватар для Аватар
3911 / 1424 / 500
Регистрация: 31.05.2012
Сообщений: 5,046
25.07.2024, 12:23
SQL Скопировано
1
RANK() OVER (PARTITION BY "column1" ORDER BY "column3" DESC NULLS LAST)
1
2 / 2 / 1
Регистрация: 16.04.2022
Сообщений: 958
25.07.2024, 12:35  [ТС]
Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.07.2024, 12:35
Помогаю со студенческими работами здесь

Блин, для ЧЕГО НУЖНА Функция CREATE TABLE invoice( inv_id INT AUTO_INCREMENT NOT NULL , usr_id INT NOT NULL , prod_id INT NOT NULL , quantity INT NOT
Погуглив, так и не смог толком понять. Есть тут ГУРУ по mysql Которые могут на пальцах или на примере показать для чего она нужна. ...

Использование функции RANK ()
Всем привет! Помогите справиться с таким заданием: Необходимо из справочника клиентов выбрать по 10 клиентов для каждой области,...

Не удалось вставить значение NULL в столбец, таблицы; В столбце запрещены значения NULL. Ошибка в INSERT
Привет. Создал значит базу данных и таблицы. Потом попытался заполнить CREATE TABLE ContrAgents( id INT IDENTITY(1,1) PRIMARY...

Почему при NOT NULL default это NULL ?
Добрый день! Вопрос такой вдруг появился. При создании таблицы ввожу NOT NULL. Но когда просматриваю DESCRIPTION колонке Default вижу...

Почему в столбцах NOT NULL по умолчанию NULL ?
Добрых суток! Не могу понять такую вещь. Создаю столбцы и не пишу NOT NULL. В таком случае по умолчанию значения NULL. Но, даже,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
JWT аутентификация в Java
Javaican 21.04.2025
JWT (JSON Web Token) представляет собой открытый стандарт (RFC 7519), который определяет компактный и самодостаточный способ передачи информации между сторонами в виде JSON-объекта. Эта информация. . .
Спринты Agile: Планирование, выполнение, ревью и ретроспектива
EggHead 21.04.2025
Спринты — сердцевина Agile-методологии, позволяющая командам создавать работающий продукт итерационно, с постоянной проверкой гипотез и адаптацией к изменениям. В основе концепции спринтов лежит. . .
Очередные открытия мега простых чисел, сделанные добровольцами с помощью домашних компьютеров
Programma_Boinc 21.04.2025
Очередные открытия мега простых чисел, сделанные добровольцами с помощью домашних компьютеров. 3 марта 2025 года, в результате обобщенного поиска простых чисел Ферма в PrimeGrid был найден. . .
Система статов в Unity
GameUnited 20.04.2025
Статы — фундаментальный элемент игрового дизайна, который определяет характеристики персонажей, предметов и других объектов в игровом мире. Будь то показатель силы в RPG, скорость передвижения в. . .
Статические свойства и методы в TypeScript
run.dev 20.04.2025
TypeScript прочно занял своё место в системе современной веб-разработки. Этот строго типизированный язык программирования не просто расширяет возможности JavaScript — он делает разработку более. . .
Batch Transform и Batch Gizmo Drawing API в Unity
GameUnited 20.04.2025
В мире разработки игр и приложений на Unity производительность всегда была критическим фактором успеха. Создатели игр постоянно балансируют между визуальной привлекательностью и плавностью работы. . .
Звук в Unity: Рандомизация с Audio Random Container
GameUnited 20.04.2025
В современных играх звуковое оформление часто становится элементом, который либо полностью погружает игрока в виртуальный мир, либо разрушает атмосферу за считанные минуты. Представьте: вы исследуете. . .
Максимальная производительность C#: Советы, тестирование и заключение
stackOverflow 20.04.2025
Погружение в мир микрооптимизаций C# открывает перед разработчиком целый арсенал мощных техник. Но как определить, где и когда их применять? Ответ начинается с точных измерений и профилирования. . . .
Максимальная производительность C#: Предсказание ветвлений
stackOverflow 20.04.2025
Третий ключевой аспект низкоуровневой оптимизации — предсказание ветвлений. Эта тема менее известна среди разработчиков, но её влияние на производительность может быть колоссальным. Чтобы понять. . .
Максимальная производительность C#: Векторизация (SIMD)
stackOverflow 20.04.2025
Помимо работы с кэшем, другим ключевым аспектом низкоуровневой оптимизации является векторизация вычислений. SIMD (Single Instruction, Multiple Data) позволяет обрабатывать несколько элементов данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер