PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Implementando NULLS FIRST no Amazon Redshift


Use a expressão
field_c IS NOT NULL

como primeiro ORDER BY item. Ele avalia como ...
FALSE .. if NULL
TRUE .. se NÃO NULO.

E FALSE (0) classifica antes de TRUE (1). Funciona para qualquer tipo de dados e qualquer distribuição possível de valores.
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;