Impala - Offset Maddesi

Genel olarak, bir sonuç kümesindeki satırlar select sorgu 0'dan başlar. offsetfıkra, çıktının nerede dikkate alınması gerektiğine karar verebiliriz. Örneğin ofseti 0 seçersek sonuç her zamanki gibi olur ve ofseti 5 seçersek sonuç beşinci satırdan başlar.

Sözdizimi

Aşağıdaki sözdizimi offsetImpala'daki cümle.

select data from table_name Group BY col_name;

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  | 
| 6  | Komal    | 22  | MP        | 32000  | 
| 1  | Ramesh   | 32  | Ahmedabad | 20000  | 
| 5  | Hardik   | 27  | Bhopal    | 40000  | 
| 2  | Khilan   | 25  | Delhi     | 15000  | 
| 8  | ram      | 22  | vizag     | 31000  | 
| 9  | robert   | 23  | banglore  | 28000  |
| 7  | ram      | 25  | chennai   | 23000  | 
| 4  | Chaitali | 25  | Mumbai    | 35000  | 
+----+----------+-----+-----------+--------+ 
Fetched 9 row(s) in 0.51s

Tablodaki kayıtları kimliklerine göre artan sırada düzenleyebilir ve kayıt sayısını 4 ile sınırlandırabilirsiniz. limit ve order by cümlecikleri aşağıda gösterildiği gibidir.

Query: select * from customers order by id limit 4 
+----+----------+-----+-----------+--------+ 
| 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  | 
+----+----------+-----+-----------+--------+ 
Fetched 4 row(s) in 0.64s

Aşağıda bir örnek verilmiştir offsetfıkra. Burada kayıtları alıyoruzcustomersOnların id en sırasına göre masa ve 0 dan başlayarak ilk dört satır baskı inci sıranın.

[quickstart.cloudera:21000] > select * from customers order by id limit 4 offset 0;

Yürütüldüğünde, yukarıdaki sorgu aşağıdaki sonucu verir.

Query: select * from customers order by id limit 4 offset 0 
+----+----------+-----+-----------+--------+
| 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  | 
+----+----------+-----+-----------+--------+ 
Fetched 4 row(s) in 0.62s

Aynı şekilde dört kayıt alabilirsiniz. customers aşağıda gösterildiği gibi ofset 5'e sahip satırdan başlayarak tablo.

[quickstart.cloudera:21000] > select * from customers order by id limit 4 offset 5; 
Query: select * from customers order by id limit 4 offset 5 
+----+--------+-----+----------+--------+ 
| id | name   | age | address  | salary | 
+----+--------+-----+----------+--------+ 
| 6  | Komal  | 22  | MP       | 32000  | 
| 7  | ram    | 25  | chennai  | 23000  | 
| 8  | ram    | 22  | vizag    | 31000  |
| 9  | robert | 23  | banglore | 28000  | 
+----+--------+-----+----------+--------+ 
Fetched 4 row(s) in 0.52s