Sorterar i en ORDER BY
görs av den första kolumnen och sedan av varje ytterligare kolumn i den angivna satsen.
Tänk till exempel på följande data:
Column1 Column2
======= =======
1 Smith
2 Jones
1 Anderson
3 Andrews
Frågan
SELECT Column1, Column2 FROM thedata ORDER BY Column1, Column2
skulle först sortera efter alla värden i Column1
och sortera sedan kolumnerna efter Column2
för att producera detta:
Column1 Column2
======= =======
1 Anderson
1 Smith
2 Jones
3 Andrews
Med andra ord, data sorteras först i Column1
ordning och sedan varje delmängd (Column1
rader som har 1
som deras värde) sorteras i den andra kolumnen.
Skillnaden mellan de två påståendena du postade är att raderna i det första skulle sorteras först efter prod_price
(prisordning, från lägsta till högsta), och sedan efter namnordning (vilket betyder att om två artiklar har samma pris, skulle den med det lägre alfavärdet för namnet listas först), medan den andra skulle sorteras i namnordning endast (vilket betyder att priserna visas i ordning baserat på prod_name
utan hänsyn till priset).