Domina la ordenación de resultados con ORDER BY, la limitación del número de filas con LIMIT y la eliminación de duplicados con DISTINCT.
Abrir esta lección en KodokonDe forma predeterminada, el orden de las filas que devuelve un SELECT no está garantizado: la base de datos las devuelve como le resulta más conveniente. Para imponer un orden, añade ORDER BY seguido de una columna. La ordenación es ascendente de forma predeterminada (puedes hacerlo explícito con ASC); añade DESC para una ordenación descendente.
SELECT title, price FROM books ORDER BY price;
SELECT title, price FROM books ORDER BY price DESC;Puedes ordenar por varias columnas: ORDER BY genre, price DESC ordena primero por género y luego, dentro del mismo género, del más caro al más barato. La cláusula LIMIT conserva solo las primeras N filas del resultado: combinada con ORDER BY, te da un "top N". LIMIT 3 OFFSET 2 además omitiría las primeras 2 filas.
SELECT title, price FROM books
ORDER BY price DESC
LIMIT 3;Una última herramienta: DISTINCT, colocada justo después de SELECT, elimina los duplicados del resultado. Nuestra tabla contiene 7 libros pero solo 3 géneros diferentes: sin DISTINCT, la consulta de abajo mostraría 7 filas con repeticiones.
SELECT DISTINCT genre FROM books;
SELECT DISTINCT author FROM books;