Можно ли применить что-то вроде `NULLS LAST`, но без сортировки по значениям этого столбца, которые не равны NULL? - PullRequest
0 голосов
/ 25 мая 2018

Представьте, что у меня есть запрос

 SELECT  "somethings.* 
 FROM "somethings" 
 ORDER BY description DESC NULLS LAST, popularity DESC`

Сначала он будет отсортирован по описанию, поместит все строки с описанием null в конце, а затем применяет сортировку по популярности.

Но что яхочу просто поместить строки с нулевым описанием в последнюю очередь, а не сортировать результаты первично по строке описания, а затем отсортировать результаты по популярности.

В идеале я хочу добиться этого в одном запросе.

Ответы [ 2 ]

0 голосов
/ 25 мая 2018

чуть более короткое решение

ORDER BY description IS NOT NULL, description, popularity DESC

Это работает, потому что True> False

0 голосов
/ 25 мая 2018

Вы можете использовать is null в order by предложении:

order by (case when description is null 
               then 1 else 0 end), description desc, popularity desc;   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...