sql >> Databáze >  >> RDS >> Mysql

SQL ORDER BY více sloupců

Řazení v ORDER BY se provádí prvním sloupcem a poté každým dalším sloupcem v zadaném příkazu.

Zvažte například následující údaje:

Column1    Column2
=======    =======
1          Smith
2          Jones
1          Anderson
3          Andrews

Dotaz

SELECT Column1, Column2 FROM thedata ORDER BY Column1, Column2

se nejprve seřadí podle všech hodnot v Column1

a poté seřaďte sloupce podle Column2 vytvořit toto:

Column1    Column2
=======    =======
1          Anderson
1          Smith
2          Jones
3          Andrews

Jinými slovy, data se nejprve třídí ve Column1 pořadí a poté každou podmnožinu (Column1 řádky, které mají 1 jako jejich hodnota) jsou seřazeny v pořadí podle druhého sloupce.

Rozdíl mezi dvěma prohlášeními, které jste zveřejnili, je ten, že řádky v prvním by byly seřazeny jako první podle prod_price (pořadí cen, od nejnižší po nejvyšší) a poté podle názvu (to znamená, že pokud mají dvě položky stejnou cenu, jako první bude uvedena ta s nižší alfa hodnotou pro název), zatímco druhá by se seřadila podle názvu pouze (to znamená, že ceny se zobrazí v pořadí podle prod_name bez ohledu na cenu).



  1. LongOpsWatcher v SQL Dev

  2. Jak ladit dotaz v extbase?

  3. Metoda shromažďování:Procedura EXTEND v databázi Oracle

  4. Instalace Microsoft SQL Server 2012 Enterprise Edition s aktualizací Service Pack 1