Sortowanie w ORDER BY
jest wykonywane przez pierwszą kolumnę, a następnie przez każdą dodatkową kolumnę w określonej instrukcji.
Weźmy na przykład pod uwagę następujące dane:
Column1 Column2
======= =======
1 Smith
2 Jones
1 Anderson
3 Andrews
Zapytanie
SELECT Column1, Column2 FROM thedata ORDER BY Column1, Column2
najpierw posortuje według wszystkich wartości w Column1
a następnie posortuj kolumny według Column2
aby to wyprodukować:
Column1 Column2
======= =======
1 Anderson
1 Smith
2 Jones
3 Andrews
Innymi słowy, dane są najpierw sortowane w Column1
kolejność, a następnie każdy podzbiór (Column1
wiersze, które mają 1
jako ich wartość) są sortowane w kolejności drugiej kolumny.
Różnica między dwoma opublikowanymi oświadczeniami polega na tym, że wiersze w pierwszej byłyby najpierw sortowane według prod_price
(kolejność ceny, od najniższej do najwyższej), a następnie według nazwy (co oznacza, że jeśli dwa przedmioty mają tę samą cenę, ten z niższą wartością alfa nazwy będzie wymieniony jako pierwszy), a drugi będzie sortowany w kolejności nazw tylko (co oznacza, że ceny będą wyświetlane w kolejności na podstawie prod_name
bez względu na cenę).