Si queremos que las filas del resultado de la consulta aparezcan ordenadas, lo podemos indicar mediante la cláusula ORDER BY.
ORDER BY {expression_columna|posicion_columna [ASC|DESC]}[ ,...n ]
Podemos indicar una columna o varias separadas por una coma, la columna de ordenación se especifica mediante el nombre de columna en el origen de datos o su posición dentro de la lista de selección. Si utilizamos el nombre de columna, no hace falta que la columna aparezca en la lista de selección. Si utilizamos la posición es la posición de la columna dentro de la lista de selección empezando en 1.
Por defecto la filas se ordenarán en modo ascendente (ASC), de menor a mayor; si queremos invertir ese orden añadimos detrás de la columna la palabra DESC.
Ejemplos:
Mostrar las ventas de cada oficina, ordenadas por orden alfabético de región y dentro de cada región por ciudad.
SELECT oficina, region, ciudad, ventas FROM oficinas ORDER BY region, ciudad;
Da como resultado:
Oficina | region | ciudad | ventas |
---|---|---|---|
24 | centro | Aranjuez | 15000,00 |
23 | centro | Madrid | NULL |
12 | este | Alicante | 73500,00 |
13 | este | Castellón | 36800,00 |
11 | este | Valencia | 69300,00 |
28 | este | Valencia | 0,00 |
26 | norte | Pamplona | NULL |
22 | oeste | A Coruña | 18600,00 |
21 | oeste | Badajoz | 83600,00 |
Listar las oficinas de manera que las oficinas de mayores ventas aparezcan en primer lugar.
SELECT ciudad, region, ventas FROM oficinas ORDER BY ventas DESC;
ciudad | region | ventas |
---|---|---|
Badajoz | oeste | 83600,00 |
Alicante | este | 73500,00 |
Valencia | este | 69300,00 |
Castellon | este | 36800,00 |
A Coruña | oeste | 18600,00 |
Aranjuez | centro | 15000,00 |
Valencia | este | 0,00 |
Pamplona | norte | NULL |
Madrid | centro | NULL |
Listar las oficinas clasificadas en orden descendente de rendimiento de ventas, de modo que las de mayor rendimiento aparezcan las primeras.
SELECT ciudad, region, ventas-objetivo FROM oficinas ORDER BY 3 DESC;
Lo mismo que el anterior pero agrupadas por región.
SELECT region, ciudad, (ventas-objetivo) AS superavit FROM oficinas ORDER BY region, superavit DESC;
Resultado:
Region | ciudad | superavit |
---|---|---|
centro | Aranjuez | -10000,00 |
centro | Madrid | NULL |
este | Valencia | 11800,00 |
este | Castellón | 1800,00 |
este | Alicante | -6500,00 |
este | Valencia | -90000,00 |
norte | Pamplona | NULL |
oeste | Badajoz | 11100,00 |
oeste | A Coruña | -11400,00 |
En este caso hemos utilizado el alias de columna para hacer referencia a la columna calculada y también se puede observar que las filas aparecen ordenadas por región ascendente (no hemos incluido nada después del nombre de la columna) y dentro de cada región por superávit y descendente.
Para practicar puedes realizar este Ejercicio Ordenar los datos.
Síguenos en: Facebook Sobre aulaClic Política de Cookies
© aulaClic S.L. Todos los derechos reservados. Prohibida la reproducción por cualquier medio.