Trier dans un ORDER BY
est effectué par la première colonne, puis par chaque colonne supplémentaire dans l'instruction spécifiée.
Par exemple, considérez les données suivantes :
Column1 Column2
======= =======
1 Smith
2 Jones
1 Anderson
3 Andrews
La requête
SELECT Column1, Column2 FROM thedata ORDER BY Column1, Column2
trierait d'abord toutes les valeurs de Column1
puis triez les colonnes par Column2
pour produire ceci :
Column1 Column2
======= =======
1 Anderson
1 Smith
2 Jones
3 Andrews
En d'autres termes, les données sont d'abord triées dans Column1
ordre, puis chaque sous-ensemble (Column1
lignes qui ont 1
comme leur valeur) sont triés dans l'ordre de la deuxième colonne.
La différence entre les deux relevés que vous avez publiés est que les lignes du premier seraient triées en premier par prod_price
(ordre de prix, du plus bas au plus élevé), puis par ordre de nom (ce qui signifie que si deux articles ont le même prix, celui avec la valeur alpha la plus faible pour le nom serait répertorié en premier), tandis que le second serait trié par ordre de nom uniquement (ce qui signifie que les prix apparaîtraient dans l'ordre en fonction du prod_name
sans égard au prix).