sql >> Databáze >  >> RDS >> PostgreSQL

Proč jsou hodnoty NULL na prvním místě při objednávání DESC v dotazu PostgreSQL?

Ve skutečnosti s výchozím pořadím řazení (ASCENDING ) Hodnoty NULL jsou poslední .

Logika nařizuje, aby bylo pořadí řazení obráceno pomocí DESCENDING klíčové slovo, takže hodnoty NULL jsou na prvním místě v tomto případě.

Ale nejlepší část přichází nakonec:můžete si vybrat, jakým způsobem to chcete:

  • Použijte NULLS FIRST | LAST doložka.

Cituji aktuální manuál, verze 9.3 v době psaní:

Pokud NULLS LAST je zadáno, hodnoty null se seřadí po všech jiných hodnotách než null; pokud NULLS FIRST je zadáno, hodnoty null se seřadí před hodnotami all non-null. Pokud není zadáno ani jedno, výchozí chování jeNULLS LAST když ASC je specifikováno nebo implikováno a NULLS FIRST když DESC je zadáno (výchozí nastavení je tedy chovat se, jako by hodnoty null byly větší než hodnoty null). Když USING je zadáno, výchozí řazení null závisí na tom, zda je operátor operátor menší nebo větší.

Tučné zdůraznění moje.



  1. Je v Oracle možné VLOŽIT nebo AKTUALIZOVAT záznam prostřednictvím pohledu?

  2. Klíčové technologické změny v E-Business Suite 12.2

  3. Stránkování pomocí serveru Oracle a SQL a obecná metoda stránkování

  4. Monitoring &Ops Management MySQL 8.0 s ClusterControl