PHP y MySQL

MySQL ORDER BY: Ordenación de consultas SELECT por columnas

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:

Sintaxis de MySQL ORDER BY

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.

Ejemplos de MySQL ORDER BY

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.

compartir
Publicado por
Aner Barrena