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

Implementazione di NULLS FIRST in Amazon Redshift

Usa l'espressione

field_c IS NOT NULL

come primo ORDER BY elemento. Restituisce ...
FALSE .. se NULL
TRUE .. se NON NULLO.

E FALSE (0) ordina prima di TRUE (1). Funziona con qualsiasi tipo di dati e qualsiasi possibile distribuzione di valori.

SELECT field_a,
       row_number() OVER (PARTITION BY field_b
                          ORDER BY field_c IS NOT NULL, field_c) AS row_number
FROM   test_table
ORDER  BY row_number;