sql >> Databasteknik >  >> RDS >> PostgreSQL

Sortera efter kolumn ASC, men NULL-värden först?

Postgres har NULLS FIRST | LAST modifierare för ORDER BY uttryck:

... ORDER BY last_updated NULLS FIRST

Det typiska användningsfallet är med fallande sorteringsordning (DESC ), vilket ger den fullständiga inversionen av standard stigande ordning (ASC ) med nollvärden först - vilket ofta inte är önskvärt. För att sortera NULL värdena sist:

... ORDER BY last_updated DESC NULLS LAST

För att stödja frågan med ett index , få det att matcha:

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

Postgres kan läsa btree-index baklänges, men för vissa frågeplaner spelar det roll var NULL värden läggs till. Se:

  • Prestandans inverkan av vyn på aggregerad funktion kontra resultatuppsättningsbegränsning


  1. Vad är skillnaden mellan 'ÅÅÅÅ' och 'RRRR' i Oracle SQL

  2. Visa hela SQL-frågan i Show Processlist för MySQL

  3. Hekaton med en twist:In-memory TVPs – Del 2

  4. Hur man returnerar den vänstra eller högra delen av en sträng i MySQL