Ad esempio, SELECT nickname, name FROM people ORDER BY nickname, produrrà:
nickname name
NULL Art
NULL Mary
Abby Abigal
Bobby Robert
Cindy Cynthia
Capita alcune volte di voler cambiare questa logica in modo da mettere in fondo i valori NULL, per ottenere un risultato di questo tipo:
nickname name
Abby Abigal
Bobby Robert
Cindy Cynthia
NULL Art
NULL Mary
Per farlo dobbiamo aggiungere un campo calcolato, che chiameremo ad esempio ordine, ed ordinare prima in base ad esso. SELECT nickname, name, IF(nickname IS NULL,1,0) AS ordine FROM people ORDER BY ordine, nickname, che produrrà:
nickname name ordine
Abby Abigal 0
Bobby Robert 0
Cindy Cynthia 0
NULL Art 1
NULL Mary 1
NULL Art
NULL Mary
Abby Abigal
Bobby Robert
Cindy Cynthia
Capita alcune volte di voler cambiare questa logica in modo da mettere in fondo i valori NULL, per ottenere un risultato di questo tipo:
nickname name
Abby Abigal
Bobby Robert
Cindy Cynthia
NULL Art
NULL Mary
Per farlo dobbiamo aggiungere un campo calcolato, che chiameremo ad esempio ordine, ed ordinare prima in base ad esso. SELECT nickname, name, IF(nickname IS NULL,1,0) AS ordine FROM people ORDER BY ordine, nickname, che produrrà:
nickname name ordine
Abby Abigal 0
Bobby Robert 0
Cindy Cynthia 0
NULL Art 1
NULL Mary 1
Nessun commento:
Posta un commento