Impala - Maddeye Göre Sırala

Impala ORDER BYcümlesi, verileri bir veya daha fazla sütuna göre artan veya azalan düzende sıralamak için kullanılır. Bazı veritabanları, sorgu sonuçlarını varsayılan olarak artan sırada sıralar.

Sözdizimi

ORDER BY yan tümcesinin sözdizimi aşağıdadır.

select * from table_name ORDER BY col_name [ASC|DESC] [NULLS FIRST|NULLS LAST]

Tablodaki verileri anahtar kelimeleri kullanarak artan veya azalan sırada düzenleyebilirsiniz. ASC veya DESC sırasıyla.

Aynı şekilde, İLK NULLS kullanırsak tablodaki tüm null değerler üst satırlarda düzenlenir; ve NULLS LAST kullanırsak, boş değerler içeren satırlar en son düzenlenir.

Misal

Adında bir tablomuz olduğunu varsayalım customers veritabanında my_db ve içeriği aşağıdaki gibidir -

[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şağıda, verilerin düzenlenmesine bir örnek verilmiştir. customers tablo, artan sırayla id’s kullanmak order by fıkra.

[quickstart.cloudera:21000] > Select * from customers ORDER BY id asc;

Yürütüldüğünde, yukarıdaki sorgu aşağıdaki çıktıyı üretir.

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

Aynı şekilde, aşağıdaki verileri düzenleyebilirsiniz: customers kullanarak azalan sırada tablo order by madde aşağıda gösterildiği gibi.

[quickstart.cloudera:21000] > Select * from customers ORDER BY id desc;

Yürütüldüğünde, yukarıdaki sorgu aşağıdaki çıktıyı üretir.

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