PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Защо стойностите NULL са на първо място при поръчка на DESC в заявка на PostgreSQL?

Всъщност с ред на сортиране по подразбиране (ASCENDING ) NULL стойностите идват последни .

Логиката диктува редът на сортиране да бъде обърнат с DESCENDING ключова дума, така че NULL идват първи в този случай.

Но най-добрата част е последна:можете да изберете начина, по който искате:

  • Използвайте NULLS FIRST | LAST клауза.

Цитирам текущият ръководство, версия 9.3 към момента на писане:

Ако NULLS LAST е посочено, нулевите стойности се сортират след всички ненулеви стойности; ако NULLS FIRST е посочено, нулевите стойности се сортират преди всички ненулеви стойности. Ако не е посочено нито едно, поведението по подразбиране еNULLS LAST когато ASC е посочено или подразбираното и NULLS FIRST когато DESC е посочен (по този начин по подразбиране е да действа така, сякаш нулевите стойности са по-големи от ненулевите). Когато USING е посочено, нулевият ред по подразбиране зависи от това дали операторът е по-малко или по-голямо от оператора.

Удебелен акцент мой.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL Създаване на индекс

  2. Вземете името на месеца от дата в PostgreSQL

  3. Преминаване от MySQL към PostgreSQL – съвети, трикове и проблеми?

  4. Как да направя слушател на база данни с java?

  5. Как да създадете резервно копие на една таблица в база данни на postgres?