Ordenando en un ORDER BY
se realiza por la primera columna, y luego por cada columna adicional en la declaración especificada.
Por ejemplo, considere los siguientes datos:
Column1 Column2
======= =======
1 Smith
2 Jones
1 Anderson
3 Andrews
La consulta
SELECT Column1, Column2 FROM thedata ORDER BY Column1, Column2
ordenaría primero por todos los valores en Column1
y luego ordenar las columnas por Column2
para producir esto:
Column1 Column2
======= =======
1 Anderson
1 Smith
2 Jones
3 Andrews
En otras palabras, los datos se ordenan primero en Column1
orden, y luego cada subconjunto (Column1
filas que tienen 1
como su valor) se ordenan en el orden de la segunda columna.
La diferencia entre las dos declaraciones que publicaste es que las filas en la primera se ordenarían primero por prod_price
(orden de precio, de menor a mayor), y luego por orden de nombre (lo que significa que si dos artículos tienen el mismo precio, el que tiene el valor alfa más bajo para el nombre aparecerá primero), mientras que el segundo se ordenará por nombre (lo que significa que los precios aparecerán en orden según el prod_name
) sin tener en cuenta el precio).