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

Posortować według kolumny ASC, ale najpierw wartości NULL?

Postgres ma NULLS FIRST | LAST modyfikatory dla ORDER BY wyrażenie:

... ORDER BY last_updated NULLS FIRST

Typowy przypadek użycia jest z malejącym porządkiem sortowania (DESC ), co powoduje całkowite odwrócenie domyślnej kolejności rosnącej (ASC ) najpierw z wartościami null — co często nie jest pożądane. Aby posortować NULL ostatnie wartości:

... ORDER BY last_updated DESC NULLS LAST

Aby wesprzeć zapytanie za pomocą indeksu , dopasuj:

CREATE INDEX foo_idx ON tbl (last_updated DESC NULLS LAST);

Postgres może odczytywać indeksy btree wstecz, ale w przypadku niektórych planów zapytań ma znaczenie, gdzie NULL wartości są dołączane. Zobacz:

  • Wpływ na wydajność widoku na funkcję agregującą w porównaniu z ograniczaniem zestawu wyników


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle do PostgreSQL:składnia złączenia zewnętrznego ANSI w PostgreSQL

  2. Jak rzutować tablicę json na tablicę tekstową?

  3. PostgreSQL:Tymczasowo wyłącz połączenia

  4. Autoinkrementacja PostgreSQL

  5. Zapytanie PostgreSQL bardzo wolne z limitem 1