Сортиране в ORDER BY
се извършва от първата колона, а след това от всяка допълнителна колона в посочения оператор.
Помислете например за следните данни:
Column1 Column2
======= =======
1 Smith
2 Jones
1 Anderson
3 Andrews
Заявката
SELECT Column1, Column2 FROM thedata ORDER BY Column1, Column2
първо ще сортира по всички стойности в Column1
и след това сортирайте колоните по Column2
за да произведете това:
Column1 Column2
======= =======
1 Anderson
1 Smith
2 Jones
3 Andrews
С други думи, данните първо се сортират в Column1
ред и след това всяко подмножество (Column1
редове, които имат 1
като стойността им) се сортират по реда на втората колона.
Разликата между двете твърдения, които сте публикували, е, че редовете в първия ще бъдат сортирани първо по prod_price
(ценови ред, от най-ниската до най-високата), а след това по реда на името (което означава, че ако два артикула имат една и съща цена, този с по-ниска алфа стойност за име ще бъде посочен първи), докато вторият ще сортира по реда на имената само (което означава, че цените ще се показват в ред въз основа на prod_name
без оглед на цената).