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:
- Cláusula WHERE MySQL: Consultas condicionales en bases de datos
- MySQL LIMIT: Limitar el número de filas en consultas SELECT y DELETE
- MySQL SELECT: Realizar consultas a una base de datos
- MySQL LIKE: Búsquedas de patrones en tablas usando comodines
- MySQL COUNT: Obtener el número de resultados de una sentencia SELECT
Sintaxis de MySQL ORDER BY
Veamos las posibles sintaxis extraídas de su web oficial:
1 2 |
SELECT * FROM nombre_tabla ORDER BY campo1, campo2; |
Ordenación de un tabla por 2 campos.
1 2 3 |
SELECT * FROM nombre_tabla WHERE campo1 = condicionante ORDER BY campo_ordenacion; |
Ordenación por un campo y consulta condicional WHERE.
1 2 |
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.
1 2 3 |
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.
1 2 3 |
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.
1 2 3 |
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.
Ejemplos de MySQL ORDER BY
Vayamos con varios ejemplos de order by que son muy similares a las sintaxis anteriores:
1 2 |
SELECT * FROM empleados ORDER BY edad, antiguedad; |
Consulta SELECT para extraer todos los empleados ordenados por edad y antigüedad.
1 2 3 |
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.
1 2 |
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.
1 2 3 |
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.
1 2 3 |
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.
1 2 3 |
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.