Come ordinare una query MySQL usando ORDER by

Il ritorno di una query in MySQL è arbitrario e imprevedibile.

Passaggio 1

Crea il comando SELECT di base per restituire le righe a cui sei interessato. A questo punto, l'ordine in cui vengono restituiti non è importante. In questo esempio, viene consultato un database clienti per ottenere un elenco di clienti con saldi negativi. Esempio: SELECT * FROM clients WHERE balance <0.0;

Passaggio 2

Aggiungi una clausola ORDER BY. Questo dirà al server MySQL di ordinare le righe per colonna. Ad esempio, se desideri visualizzare tutti gli account in sospeso in ordine al tuo saldo, puoi aggiungere "ORDER BY balance" alla fine della query. Esempio: SELECT * FROM clients WHERE balance <0.0 ORDER BY balance;

Passaggio 3

Definisce in quale direzione ordinare, poiché l'ordine delle righe restituite potrebbe ancora non essere significativo. Le righe possono essere restituite in ordine crescente o decrescente.

Passaggio 4

Usa ASC o DESC. Usando ASC ordinerai i dati in modo da poter vedere prima il numero più piccolo. Usando DESC, ordinerai i dati in modo da poter vedere prima il numero più alto. In questa query, i clienti con il saldo negativo più alto vengono cercati per primi. ORDER BY restituirà i set con il numero negativo maggiore (il numero più piccolo) in alto. Esempio: SELECT * FROM clients WHERE balance <0.0 ORDER BY balance ASC;

Passaggio 5

Ordina per più colonne, poiché a volte troverai grandi gruppi di righe ordinate nello stesso numero. Ad esempio, se ci sono 100 client nel tuo database con un saldo di 0, vengono visualizzati in ordine arbitrario. È meglio avere almeno due criteri di classificazione per situazioni come questa.

Passaggio 6

Utilizza più criteri di classificazione separati da virgole. Qui, i clienti sono elencati in ordine alfabetico per nome dopo essere stati ordinati dal saldo. Esempio: SELECT * FROM clients WHERE balance <0.0 ORDER BY balance, nome ASC;