Quizá advirtió, en los ejemplos anteriores, que las filas
resultantes se mostraron sin ningún orden en particular. A
menudo es más fácil examinar la salida de una consulta
cuando las filas se ordenan de algún modo significativo. Para
ordenar un resultado, se usa la clásula ORDER
BY
.
Aqui tiene las fechas de cumpleaños de los animales, ordenadas por fecha:
mysql> SELECT name, birth FROM pet ORDER BY birth; +----------+------------+ | name | birth | +----------+------------+ | Buffy | 1989-05-13 | | Bowser | 1989-08-31 | | Fang | 1990-08-27 | | Fluffy | 1993-02-04 | | Claws | 1994-03-17 | | Slim | 1996-04-29 | | Whistler | 1997-12-09 | | Chirpy | 1998-09-11 | | Puffball | 1999-03-30 | +----------+------------+
Por lo general, cuando se trata de columnas de tipo carácter,
la ordenación, — al igual que otras operaciones de
comparación — no es case-sensitive. Significa que el
orden permanece indefinido para las columnas que son
idénticas excepto por sus mayúsculas y minúsculas. Puede no
obstante forzar a que una columna se ordene en forma sensible
a mayúsculas empleando el modificador
BINARY
: ORDER BY BINARY
columna
.
El sentido de ordenación, por defecto, es ascendente, con los
valores más pequeños primero. Para ordenar en sentido
inverso (descendente), agregue la palabra clave
DESC
luego del nombre de la columna por la
que ordena:
mysql> SELECT name, birth FROM pet ORDER BY birth DESC; +----------+------------+ | name | birth | +----------+------------+ | Puffball | 1999-03-30 | | Chirpy | 1998-09-11 | | Whistler | 1997-12-09 | | Slim | 1996-04-29 | | Claws | 1994-03-17 | | Fluffy | 1993-02-04 | | Fang | 1990-08-27 | | Bowser | 1989-08-31 | | Buffy | 1989-05-13 | +----------+------------+
Puede ordenar basándose en varias columnas, y cada columna en un sentido diferente. Por ejemplo, para ordenar por tipo de animal en sentido ascendente y, dentro de cada tipo, ordenar por nacimiento en sentido descendente (los animales más jóvenes primero) utilice la siguiente consulta:
mysql> SELECT name, species, birth FROM pet -> ORDER BY species, birth DESC; +----------+---------+------------+ | name | species | birth | +----------+---------+------------+ | Chirpy | bird | 1998-09-11 | | Whistler | bird | 1997-12-09 | | Claws | cat | 1994-03-17 | | Fluffy | cat | 1993-02-04 | | Fang | dog | 1990-08-27 | | Bowser | dog | 1989-08-31 | | Buffy | dog | 1989-05-13 | | Puffball | hamster | 1999-03-30 | | Slim | snake | 1996-04-29 | +----------+---------+------------+
Advierta que la palabra clave DESC
se
aplica sobre la columna inmediatamente anterior
(birth
); no afecta el sentido de
ordenación de la columna species
.
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.