sql >> Databasteknik >  >> RDS >> Mysql

SQL ORDER BY flera kolumner

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



  1. Det gick inte att ladda filen eller sammansättningen 'MySql.Data, Version=6.3.6.0

  2. SQL Server Oanvänd Index

  3. databasanslutning misslyckas efter att ha skapat jar-fil

  4. Hur man kontrollerar om PostgreSQL-arrayen innehåller värde