Sintaxis básica de la cláusula «ORDER BY»
La cláusula «ORDER BY» se utiliza en una consulta MySQLi para ordenar los resultados según una o más columnas de una tabla. La sintaxis básica de la cláusula «ORDER BY» es la siguiente:
«`sql
SELECT columnas
FROM tabla
ORDER BY columna [ASC|DESC];
«`
Donde:
– «columnas» es la lista de columnas que se desean seleccionar en la consulta.
– «tabla» es el nombre de la tabla de la cual se desean obtener los resultados.
– «columna» es la columna por la cual se desea ordenar los resultados.
– «ASC» indica que los resultados se ordenarán en orden ascendente (de menor a mayor). Es opcional y se utiliza por defecto si no se especifica.
– «DESC» indica que los resultados se ordenarán en orden descendente (de mayor a menor).
Es importante destacar que la cláusula «ORDER BY» se coloca al final de la consulta, después de la cláusula «FROM» y antes de cualquier cláusula «LIMIT» o «OFFSET» que se utilice.
A continuación, veremos algunos ejemplos de cómo utilizar la cláusula «ORDER BY» en consultas MySQLi.
Ordenar resultados en orden ascendente
Para ordenar los resultados en orden ascendente, es decir, de menor a mayor, no es necesario especificar la palabra clave «ASC» ya que es el valor por defecto. Por ejemplo, si queremos obtener una lista de nombres de usuarios ordenados alfabéticamente, podemos utilizar la siguiente consulta:
«`php
$query = «SELECT nombre FROM usuarios ORDER BY nombre;»;
«`
En este caso, los resultados se ordenarán en orden ascendente según la columna «nombre».
Ordenar resultados en orden descendente
Si queremos ordenar los resultados en orden descendente, es decir, de mayor a menor, debemos especificar la palabra clave «DESC». Por ejemplo, si queremos obtener una lista de productos ordenados por precio de mayor a menor, podemos utilizar la siguiente consulta:
«`php
$query = «SELECT nombre, precio FROM productos ORDER BY precio DESC;»;
«`
En este caso, los resultados se ordenarán en orden descendente según la columna «precio».
Ordenar resultados por múltiples columnas
Es posible ordenar los resultados por múltiples columnas utilizando la cláusula «ORDER BY». En este caso, se debe especificar el orden de las columnas en la cláusula «ORDER BY». Por ejemplo, si queremos obtener una lista de productos ordenados primero por categoría y luego por precio, podemos utilizar la siguiente consulta:
«`php
$query = «SELECT nombre, categoria, precio FROM productos ORDER BY categoria, precio;»;
«`
En este caso, los resultados se ordenarán primero por la columna «categoria» y luego por la columna «precio».
Ordenar resultados alfabéticamente
Si queremos ordenar los resultados alfabéticamente, es decir, en orden alfabético ascendente, podemos utilizar la cláusula «ORDER BY» junto con la función «COLLATE». Por ejemplo, si queremos obtener una lista de nombres de usuarios ordenados alfabéticamente sin tener en cuenta las mayúsculas y minúsculas, podemos utilizar la siguiente consulta:
«`php
$query = «SELECT nombre FROM usuarios ORDER BY nombre COLLATE utf8_general_ci;»;
«`
En este caso, los resultados se ordenarán alfabéticamente sin tener en cuenta las mayúsculas y minúsculas.
Ordenar resultados numéricamente
Si queremos ordenar los resultados numéricamente, es decir, en orden numérico ascendente, podemos utilizar la cláusula «ORDER BY» sin necesidad de especificar ninguna función adicional. Por ejemplo, si queremos obtener una lista de productos ordenados por cantidad en stock, podemos utilizar la siguiente consulta:
«`php
$query = «SELECT nombre, cantidad FROM productos ORDER BY cantidad;»;
«`
En este caso, los resultados se ordenarán numéricamente según la columna «cantidad».
Ordenar resultados por fecha
Si queremos ordenar los resultados por fecha, es importante tener en cuenta el formato en el que se almacena la fecha en la base de datos. Por ejemplo, si la fecha se almacena en formato «YYYY-MM-DD», podemos utilizar la cláusula «ORDER BY» para ordenar los resultados por fecha. Por ejemplo, si queremos obtener una lista de pedidos ordenados por fecha de creación, podemos utilizar la siguiente consulta:
«`php
$query = «SELECT id_pedido, fecha_creacion FROM pedidos ORDER BY fecha_creacion;»;
«`
En este caso, los resultados se ordenarán por fecha de creación en orden ascendente.
La cláusula «ORDER BY» es una herramienta muy útil en MySQLi para ordenar los resultados de una consulta según una o más columnas. Se puede utilizar para ordenar los resultados en orden ascendente o descendente, por múltiples columnas, alfabéticamente, numéricamente o por fecha.