Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > СУБД, общие вопросы > нужен запрос ORDER BY с NULLS LAST


Автор: polin11 23.11.2021, 16:11

Есть запрос для PGSQL, нужно сделать аналогичный в SQLite 
Код


SELECT name, salary
FROM docs
ORDER BY name NULLS LAST ASC, salary NULL FIRST DESC


в SQLite версии 3.28 нет команды NULLS LAST\FIRST
как реализовать для этой версии такой запрос

Пробовал так

Код

SELECT name, salary
FROM docs
ORDER BY name IS NULL ASC, salary IS NOT NULL DESC


в таком случаем NULL значения действительно либо в начале, либо в конце, но 
сортировка по полям name и salary пропадает (они будут в рандомном порядке).
Аналогично не работает ORDER BY с CASE

Автор: Akina 25.11.2021, 12:22
Код

SELECT name, salary
FROM docs
ORDER BY name IS NULL ASC,          -- name IS NULL - в самый конец
         name,                      -- затем сортировать по name 
         salary IS NOT NULL DESC,   -- для равных же name salary IS NULL в конец
         salary                     -- а остальные по возрастанию

https://dbfiddle.uk/?rdbms=sqlite_3.27&fiddle=6d639f3780afddaf92f0d01f929226c7

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)