PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Dlaczego wartości NULL są na pierwszym miejscu przy zamawianiu DESC w zapytaniu PostgreSQL?

Właściwie, z domyślnym porządkiem sortowania (ASCENDING ) wartości NULL są ostatnie .

Logika nakazuje odwrócenie kolejności sortowania za pomocą DESCENDING słowo kluczowe, więc wartości NULL są najpierw w tym przypadku.

Ale najlepsze jest ostatnie:możesz wybrać, w jaki sposób chcesz:

  • Użyj NULLS FIRST | LAST klauzula.

Cytując aktualny instrukcja, wersja 9.3 od momentu pisania:

Jeśli NULLS LAST jest określony, wartości null są sortowane po wszystkich wartościach innych niż null; if NULLS FIRST jest określony, wartości null są sortowane przed wszystkimi wartościami niepustymi. Jeśli nie określono żadnej z tych opcji, domyślnym zachowaniem jestNULLS LAST kiedy ASC jest określony lub dorozumiany i NULLS FIRST kiedy DESC jest określony (zatem domyślnie działa tak, jakby wartości null były większe niż wartości inne niż null). Kiedy USING jest określony, domyślna kolejność wartości null zależy od tego, czy operator jest operatorem mniejszym czy większym niż.

Pogrubiony nacisk na moje.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dodanie „serial” do istniejącej kolumny w Postgres

  2. Jak dopasować ostatnie dwa słowa w zdaniu w PostgreSQL?

  3. Uprość zagnieżdżoną wielkość liter, gdy instrukcja

  4. Zwróć identyfikator, jeśli wiersz istnieje, WSTAW W przeciwnym razie

  5. Posiadanie grup według klauzul — GeneralBits elein