Sorterer i en ORDER BY
udføres af den første kolonne og derefter af hver yderligere kolonne i den angivne sætning.
Overvej f.eks. følgende data:
Column1 Column2
======= =======
1 Smith
2 Jones
1 Anderson
3 Andrews
Forespørgslen
SELECT Column1, Column2 FROM thedata ORDER BY Column1, Column2
vil først sortere efter alle værdierne i Column1
og sorter derefter kolonnerne efter Column2
at producere dette:
Column1 Column2
======= =======
1 Anderson
1 Smith
2 Jones
3 Andrews
Med andre ord sorteres dataene først i Column1
rækkefølge og derefter hvert undersæt (Column1
rækker, der har 1
som deres værdi) sorteres i rækkefølgen efter den anden kolonne.
Forskellen mellem de to udsagn, du postede, er, at rækkerne i den første vil blive sorteret først efter prod_price
(prisrækkefølge, fra laveste til højeste), og derefter efter navnerækkefølge (hvilket betyder, at hvis to varer har samme pris, vil den med den laveste alfaværdi for navn blive anført først), mens den anden vil sortere i navnerækkefølge kun (hvilket betyder, at priserne vises i rækkefølge baseret på prod_name
uden hensyn til prisen).