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

PostgreSQL:ordine per colonna, con valore NON NULL specifico LAST

Postgres consente boolean valori nel ORDER BY clausola, quindi ecco il tuo generalised 'X LAST' :

ORDER BY (my_column = 'X')

L'espressione restituisce boolean , i valori risultanti vengono ordinati in questo modo:

FALSE (0)
TRUE (1)
NULL

Dal momento che abbiamo a che fare con valori non nulli, è tutto ciò di cui abbiamo bisogno. Ecco il tuo one-liner:

...
ORDER BY (zone = 'Future'), zone, status;

Correlati: