Repaso a la cláusula de MySQL ORDER BY que tiene como finalidad ordenar los resultados de las consultas por columnas en vez del campo índice por defecto.
Otras entradas de MySQL interesantes son:
Veamos las posibles sintaxis extraídas de su web oficial:
SELECT * FROM nombre_tabla ORDER BY campo1, campo2;
Ordenación de un tabla por 2 campos.
SELECT * FROM nombre_tabla WHERE campo1 = condicionante ORDER BY campo_ordenacion;
Ordenación por un campo y consulta condicional WHERE.
SELECT * FROM nombre_tabla ORDER BY campo_ordenacion1 DESC, campo_ordenacion2 DESC;
Ordenación de un tabla por 2 campos. Con la cláusula DESC definimos la ordenación del resultado de manera descendente.
SELECT * FROM nombre_tabla WHERE campo = condicionante ORDER BY campo_ordenacion1 DESC, campo_ordenacion2 DESC;
Ordenación de un tabla por 2 campos. Con la cláusula DESC definimos la ordenación del resultado de manera descendente y además con WHERE realizamos la consulta condicional.
SELECT * FROM nombre_tabla WHERE campo1 > condicionante ORDER BY campo_ordenacion ASC;
Ordenación de un tabla por un campo con consulta condicional WHERE, ordenación de campos con ASC que ordena de manera ascendente.
SELECT * FROM nombre_tabla WHERE campo_ordenacion = condicionante AND campo_ordenacion2 > condicionante2 ORDER BY campo_ordenacion;
Ordenación de una tabla con 2 condionantes WHERE y un campo de ordenación.
Vayamos con varios ejemplos de order by que son muy similares a las sintaxis anteriores:
SELECT * FROM empleados ORDER BY edad, antiguedad;
Consulta SELECT para extraer todos los empleados ordenados por edad y antigüedad.
SELECT * FROM empleados WHERE sexo = 'mujer' ORDER BY edad;
Consulta SELECT para extraer todos los empleados cuyo sexo sea mujer, la ordenación será por edad.
SELECT * FROM empleados ORDER BY edad DESC, antiguedad DESC;
Consulta SELECT para extraer todos los empleados y la ordenación será por el campo edad de manera descendente y el campo antigüedad de manera descendente.
SELECT * FROM empleados WHERE sexo = 'hombre' ORDER BY antiguedad DESC, edad DESC;
Consulta SELECT para extraer todos los empleados y la ordenación será por el campo edad de manera descendente y el campo antigüedad de manera descendente.
SELECT * FROM empleados WHERE edad > 35 ORDER BY nombre ASC;
Consulta SELECT para extraer todos los empleados cuya edad sea mayor de 35 años, ordenación por el campo nombre de manera ascendente.
SELECT * FROM empleados WHERE edad = 40 AND antiguedad > 5 ORDER BY apellidos;
Consulta SELECT para extraer todos los empleados cuya edad sea 40 años y antigüedad mayor de 5 años en la empresa, ordenación por el campo apellidos.