sql >> Database teknologi >  >> RDS >> Mysql

SQL ORDER BY flere kolonner

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).



  1. Tilslutning til en online MySQL-database ved hjælp af VB.Net

  2. Inden for en triggerfunktion, hvordan man får hvilke felter der opdateres

  3. Hvordan kan jeg VÆLGE flere kolonner i en CASE WHEN på SQL Server?

  4. Bestemmelse af, om feltdataene i Oracle er af nummertypen