7.5. Ordinamento delle righe

Dopo che una query ha prodotto una tabella di output (dopo che l’elenco di selezione è stato elaborato), può facoltativamente essere ordinato. Se l’ordinamento non viene scelto, le righe verranno restituite in un ordine non specificato. L’ordine effettivo in quel caso dipenderà dai tipi di piano di scansione e join e dall’ordine sul disco, ma non deve essere considerato. Un particolare ordine di output può essere garantito solo se il passaggio di ordinamento viene scelto esplicitamente.

La clausola ORDER BY specifica l’ordinamento:

SELECT select_list FROM table_expression ORDER BY column1 ...]

column1, ecc., fare riferimento a selezionare colonne elenco. Questi possono essere il nome di output di una colonna (vedere Sezione 7.3.2) o il numero di una colonna. Alcuni esempi:

SELECT a, b FROM table1 ORDER BY a;SELECT a + b AS sum, c FROM table1 ORDER BY sum;SELECT a, sum(b) FROM table1 GROUP BY a ORDER BY 1;

Come un’estensione dello standard SQL, PostgreSQL permette anche di ordinare da espressioni arbitrarie:

SELECT a, b FROM table1 ORDER BY a + b;

i Riferimenti a nomi di colonna della clausola che non sono presenti nell’elenco di selezione sono ammessi:

SELECT a FROM table1 ORDER BY b;

Ma queste estensioni non funzionano nelle query che coinvolgono l’UNIONE, l’INTERSEZIONE, o meno, e non sono portabili ad altri database SQL.

Ogni specifica di colonna può essere seguita da un ASC opzionale o DESC per impostare la direzione di ordinamento su ascendente o discendente. Ordine ASC è il valore predefinito. L’ordine crescente mette prima i valori più piccoli, dove “più piccolo” è definito in termini dell’operatore <. Allo stesso modo, l’ordine decrescente viene determinato con l’operatore >.

Se viene specificata più di una colonna di ordinamento, le voci successive vengono utilizzate per ordinare le righe uguali nell’ordine imposto dalle colonne di ordinamento precedenti.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Previous post Quanto vale una vasca idromassaggio usata?
Next post Cosa sapere su Josh Duggar’s sexual abuse scandal