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