Guía rápida de sql ORDER BY
ORDER BY es una clausula que se utiliza para ordenar el resultado según una o más columnas.
Hasta ahora nuestros resultados no han estado ordenados y aparecían sin orden alguno, pero con ORDER BY podemos controlar el orden en el que aparezcan nuestros resultados. Por defecto la clausula tiene orden ascendente (ASC) pero se puede poner en orden descendente tan solo añadiendo DESC.
Su sintaxis básica es muy sencilla:
SELECT * FROM tabla ORDER BY columna ASC|DESC, columna ASC|DESC
De este modo podemos hacer diferentes consultas para ilustrar como funciona la clausula:
Ordenando por una única columna de forma ascendente
Si por ejemplo queremos ordenar nuestros proveedores por el nombre del país tan solo tenemos que hacer la siguiente consulta:
SELECT pais, ciudad, NombreContacto FROM proveedor ORDER BY pais
Donde aparecerán los resultados ordenados por el nombre del país:
País | Ciudad | nombre contacto |
Alemania | Frankfurt | Martin Bein |
Alemania | Cuxhaven | Sven Petersen |
Alemania | Berlín | Petra Winkler |
Australia | Sydney | Wendy Mackenzie |
Australia | Melbourne | Ian Devling |
Brasil | São Paulo | Carlos Diaz |
Canadá | Montréal | Jean-Guy Lauzon |
Canadá | Ste-Hyacinthe | Chantal Goulet |
Dinamarca | Lyngby | Niels Petersen |
España | Oviedo | Antonio del Valle Saavedra |
Estados Unidos | Bend | Cheryl Saylor |
Estados Unidos | New Orleans | Shelley Burke |
Estados Unidos | Boston | Robb Merchant |
Estados Unidos | Ann Arbor | Regina Murphy |
Finlandia | Lappeenranta | Anne Heikkonen |
Francia | París | Guylène Nodier |
Francia | Annecy | Eliane Noz |
Francia | Montceau | Marie Delamare |
Holanda | Zaandam | Dirk Luchte |
Italia | Salerno | Giovanni Giudici |
Italia | Ravenna | Elio Rossi |
Japón | Tokyo | Yoshi Nagase |
Japón | Osaka | Mayumi Ohno |
Noruega | Sandvika | Beate Vileid |
Reino Unido | Manchester | Peter Wilson |
Reino Unido | Londres | Charlotte Cooper |
Singapur | Singapore | Chandra Leka |
Suecia | Stockholm | Michael Björn |
Suecia | Göteborg | Lars Peterson |
Si quisiéramos ponerlos en orden inverso tan solo habría que introducir DESC
Ordenando por varias columnas
Cunado queremos ordenar por varias columnas lo que hacemos es coger todos los registros ordenados y dentro del primer orden colocar el segundo.
En el siguiente ejemplo se ve muy claro como funciona, colocando los países en orden alfabético y las ciudades en orden inverso.
SELECT pais, ciudad, NombreContacto FROM proveedor ORDER BY pais ASC, Ciudad DESC
Y el resultado obtenido es:
País | Ciudad | nombre contacto |
Alemania | Frankfurt | Martin Bein |
Alemania | Cuxhaven | Sven Petersen |
Alemania | Berlín | Petra Winkler |
Australia | Sydney | Wendy Mackenzie |
Australia | Melbourne | Ian Devling |
Brasil | São Paulo | Carlos Diaz |
Canadá | Ste-Hyacinthe | Chantal Goulet |
Canadá | Montréal | Jean-Guy Lauzon |
Dinamarca | Lyngby | Niels Petersen |
España | Oviedo | Antonio del Valle Saavedra |
Estados Unidos | New Orleans | Shelley Burke |
Estados Unidos | Boston | Robb Merchant |
Estados Unidos | Bend | Cheryl Saylor |
Estados Unidos | Ann Arbor | Regina Murphy |
Finlandia | Lappeenranta | Anne Heikkonen |
Francia | París | Guylène Nodier |
Francia | Montceau | Marie Delamare |
Francia | Annecy | Eliane Noz |
Holanda | Zaandam | Dirk Luchte |
Italia | Salerno | Giovanni Giudici |
Italia | Ravenna | Elio Rossi |
Japón | Tokyo | Yoshi Nagase |
Japón | Osaka | Mayumi Ohno |
Noruega | Sandvika | Beate Vileid |
Reino Unido | Manchester | Peter Wilson |
Reino Unido | Londres | Charlotte Cooper |
Singapur | Singapore | Chandra Leka |
Suecia | Stockholm | Michael Björn |
Suecia | Göteborg | Lars Peterson |
There is One Comment.