sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvorfor kommer NULL-værdier først, når du bestiller DESC i en PostgreSQL-forespørgsel?

Faktisk med standard sorteringsrækkefølge (ASCENDING ) NULL-værdier kommer sidst .

Logikken dikterer, at sorteringsrækkefølgen vendes med DESCENDING søgeord, så NULL kommer først i dette tilfælde.

Men det bedste kommer sidst:du kan vælge, hvordan du vil have det:

  • Brug NULLS FIRST | LAST klausul.

Citerer den aktuelle manual, version 9.3 i skrivende stund:

Hvis NULLS LAST er angivet, sorterer null-værdier efter alle ikke-nullværdier; hvis NULLS FIRST er angivet, sorteres nulværdier før alle ikke-nulværdier. Hvis ingen af ​​dem er angivet, er standardadfærdenNULLS LAST når ASC er angivet eller underforstået , og NULLS FIRST når DESC er angivet (således er standardværdien at fungere som om nuller er større end ikke-nuller). Når USING er angivet, afhænger standard null-rækkefølgen af, om operatøren er en mindre-end eller større-end-operatør.

Fed fremhævelse mine.



  1. Opdater en kolonneværdi og erstatter en del af en streng

  2. PHP indsætter flere afkrydsningsfelter OG tekstboksarrays i MySQL-databasen

  3. Oracle til PostgreSQL:START MED / FORBIND VED

  4. En begyndervejledning til SQL-tabeller