इम्पाला - ऑफसेट क्लॉज

सामान्य तौर पर, एक के परिणाम में पंक्तियाँ select क्वेरी का उपयोग 0. से शुरू होता है offsetखंड, हम यह तय कर सकते हैं कि आउटपुट कहाँ से माना जाना चाहिए। उदाहरण के लिए, यदि हम ऑफसेट को 0 के रूप में चुनते हैं, तो परिणाम हमेशा की तरह होगा और यदि हम ऑफसेट को 5 के रूप में चुनते हैं, तो परिणाम पांचवें पंक्ति से शुरू होता है।

वाक्य - विन्यास

निम्नलिखित का सिंटैक्स है offsetइम्पाला में खंड।

select data from table_name Group BY col_name;

उदाहरण

मान लें कि हमारे पास एक तालिका है जिसका नाम है customers डेटाबेस में my_db और इसकी सामग्री इस प्रकार है -

[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

आप तालिका में अभिलेखों को उनकी आईडी के आरोही क्रम में व्यवस्थित कर सकते हैं और उपयोग करते हुए रिकॉर्ड की संख्या 4 तक सीमित कर सकते हैं limit तथा order by नीचे दिखाए अनुसार।

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

निम्नलिखित का एक उदाहरण है offsetखंड। यहाँ, हम में रिकॉर्ड प्राप्त कर रहे हैंcustomersउनकी आईडी के क्रम में तालिका और 0 वें पंक्ति से शुरू होने वाली पहली चार पंक्तियों को मुद्रित करना ।

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

निष्पादित करने पर, उपरोक्त क्वेरी निम्न परिणाम देती है।

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

उसी तरह, आप चार रिकॉर्ड प्राप्त कर सकते हैं customers तालिका 5 से ऑफसेट पंक्ति से शुरू होती है जैसा नीचे दिखाया गया है।

[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