Impala - Orden por cláusula
El impala ORDER BYLa cláusula se utiliza para ordenar los datos en orden ascendente o descendente, según una o más columnas. Algunas bases de datos clasifican los resultados de la consulta en orden ascendente de forma predeterminada.
Sintaxis
A continuación se muestra la sintaxis de la cláusula ORDER BY.
select * from table_name ORDER BY col_name [ASC|DESC] [NULLS FIRST|NULLS LAST]
Puede organizar los datos en la tabla en orden ascendente o descendente utilizando las palabras clave ASC o DESC respectivamente.
De la misma manera, si usamos NULLS FIRST, todos los valores nulos de la tabla se ordenan en las filas superiores; y si usamos NULLS LAST, las filas que contienen valores nulos se ordenarán al final.
Ejemplo
Supongamos que tenemos una tabla llamada customers en la base de datos my_db y su contenido es el siguiente:
[quickstart.cloudera:21000] > select * from customers;
Query: select * from customers
+----+----------+-----+-----------+--------+
| id | name | age | address | salary |
+----+----------+-----+-----------+--------+
| 3 | kaushik | 23 | Kota | 30000 |
| 1 | Ramesh | 32 | Ahmedabad | 20000 |
| 2 | Khilan | 25 | Delhi | 15000 |
| 6 | Komal | 22 | MP | 32000 |
| 4 | Chaitali | 25 | Mumbai | 35000 |
| 5 | Hardik | 27 | Bhopal | 40000 |
+----+----------+-----+-----------+--------+
Fetched 6 row(s) in 0.51s
A continuación se muestra un ejemplo de cómo organizar los datos en el customers tabla, en orden ascendente de su id’s utilizando el order by cláusula.
[quickstart.cloudera:21000] > Select * from customers ORDER BY id asc;
Al ejecutarse, la consulta anterior produce el siguiente resultado.
Query: select * from customers ORDER BY id asc
+----+----------+-----+-----------+--------+
| id | name | age | address | salary |
+----+----------+-----+-----------+--------+
| 1 | Ramesh | 32 | Ahmedabad | 20000 |
| 2 | Khilan | 25 | Delhi | 15000 |
| 3 | kaushik | 23 | Kota | 30000 |
| 4 | Chaitali | 25 | Mumbai | 35000 |
| 5 | Hardik | 27 | Bhopal | 40000 |
| 6 | Komal | 22 | MP | 32000 |
+----+----------+-----+-----------+--------+
Fetched 6 row(s) in 0.56s
Del mismo modo, puede ordenar los datos de customers tabla en orden descendente utilizando el order by cláusula como se muestra a continuación.
[quickstart.cloudera:21000] > Select * from customers ORDER BY id desc;
Al ejecutarse, la consulta anterior produce el siguiente resultado.
Query: select * from customers ORDER BY id desc
+----+----------+-----+-----------+--------+
| id | name | age | address | salary |
+----+----------+-----+-----------+--------+
| 6 | Komal | 22 | MP | 32000 |
| 5 | Hardik | 27 | Bhopal | 40000 |
| 4 | Chaitali | 25 | Mumbai | 35000 |
| 3 | kaushik | 23 | Kota | 30000 |
| 2 | Khilan | 25 | Delhi | 15000 |
| 1 | Ramesh | 32 | Ahmedabad | 20000 |
+----+----------+-----+-----------+--------+
Fetched 6 row(s) in 0.54s