OVER() and Partitioning sql In Hindi

OVER() and Partitioning sql In Hindi

एसक्यूएल डेटाबेस मैनेजमेंट सिस्टम मे OVER() क्लॉज़ फंक्शन एक, ROW_NUMBER(), RANK(), DENSE_RANK(), NTILE() जैसे बिल्ट-इन एसक्यूएल डेटाबेस विंडो फ़ंक्शन और SUM(), AVG(), जैसे एग्रीगेट न्यूमेरिक फ़ंक्शन के साथ अप्लाई करने के लिए एसेंशियल फंक्शन है। यह डेटाबेस यूजर को मौजूदा टेबल रो से रिलेटेड टेबल रो के आउटपुट में मल्टीप्ल न्यूमेरिक फंक्शन कैलकुलेशन अप्लाई करने के फीचर्स को प्रोवाइड करता है. जबकि यह उन्हें टेबल रिज़ल्ट आउटपुट में एक साथ कम्बाइंड किए बिना। यह फीचर्स डेटाबेस यूजर को रैंकिंग, क्यूमुलेटिव सम, और मूविंग एवरेज को जनरेट या कैलकुलेट करने में अधिक हेल्पफुल है।

OVER() and Partitioning sql In Hindi

एसक्यूएल डेटाबेस टेबल में पार्टिशनिंग कांसेप्ट, OVER() क्लॉज़ स्टेटमेंट के साथ अप्लाई होने वाली एक एडवांस्ड फीचर्स है, जो डेटाबेस टेबल रिज़ल्ट आउटपुट को स्माल ग्रुप, या पार्टिशन में डिवाइड कर डिस्प्ले करता है, जिससे की डेटाबेस टेबल में यूज़ होने वाले विंडो फ़ंक्शन को हर पार्टिशन पर सेपरटेली या इंडिविजुअल आर्डर में अप्लाई किया जा सकता है।

OVER() clause function in SQL databases.

एसक्यूएल डेटाबेस टेबल में OVER() क्लॉज़ फंक्शन उस विंडो फंक्शन को डिफाइन करता है, जिस पर एक विंडो फ़ंक्शन वर्क करता है। ओवर क्लॉज़ फंक्शन में दो मैन कॉम्पोनेन्ट एलिमेंट हो सकते हैं.

Elements of the OVER() clause function.

  • PARTITION BY – यह टेबल डेटा को ग्रुप पार्टिशन सबसेट में डिवाइड करता है, और यहाँ विंडो फ़ंक्शन हर टेबल पार्टिशन ग्रुप में सेपरटेली अप्लाई होता है।
  • ORDER BY – यह डेटाबेस टेबल में कैलकुलेशन बिहैवियर को इंडीकेट करने के लिए हर पार्टिशन के अंदर टेबल रो के आर्डर को इंडीकेट करता है. यहाँ यूजर इन्हे ROW_NUMBER() या RANK() जैसे विंडो फ़ंक्शन के लिए इसे यूज़ कर सकते है।

Syntax of the OVER() clause function.

SELECT column_name,

window_function() OVER (PARTITION BY column_name ORDER BY column_name) AS window_function_output

FROM table_name;

Explanation of the OVER() clause function.

  • window_function() – यहाँ डेटाबेस यूजर द्वारा कोई भी विंडो फ़ंक्शन अप्लाई किया जा सकता है, जैसे ROW_NUMBER(), SUM(), RANK(), आदि विंडो फंक्शन है।
  • PARTITION BY (Optional) – टेबल डेटा को पार्टिशन में डिवाइड करने के लिए इसे यूज़ किया जाता है, यह टेबल डाटा को मूल रूप से विंडो फ़ंक्शन के लिए डेटा को ग्रुप करने में यूज़ करते है ।
  • ORDER BY (Optional) – यह ओवर क्लॉज़ में अरेंज या टेबल डाटा के आर्डर को इंडीकेट करता है कि टेबल फ़ंक्शन हर पार्टिशन के अंदर किस आर्डर या सीक्वेंस में वर्क करता है।

Partitioning with the OVER() clause in SQL databases.

जब डेटाबेस यूजर टेबल में OVER() क्लॉज़ के साथ पार्टिशनिंग फंक्शन को अप्लाई करते हैं, तो यूजर एक या अधिक डेटाबेस टेबल कॉलम में डाटा वैल्यू के आधार पर रिज़ल्ट आउटपुट को स्माल ग्रुप या सबसेट पार्टिशन में डिवाइड करते हैं। इससे यूजर अप्लाई विंडो फ़ंक्शन हर टेबल ग्रुप डाटा पार्टिशन के लिए सेपरटेली कैलकुलेशन को परफॉर्म करता है।

Syntax of partitioning in the OVER() clause.

SELECT column_name,

window_function() OVER (PARTITION BY column_name ORDER BY column_name) AS window_function_output

FROM table_name;

Elements of partitioning in the OVER() clause.

  • PARTITION BY column_name – यह ओवर क्लॉज़ के साथ उस पार्टिशन ग्रुपिंग टेबल डाटा कॉलम वैल्यू को डिफाइन करता है, जिसके द्वारा टेबल में विंडो फ़ंक्शन अप्लाई करने से पहले टेबल डेटा को डिवाइड किया जाता है।

Using the ORDER BY concept within the OVER() clause.

डेटाबेस टेबल में ORDER BY क्लॉज़ यूजर को यह तय करने में हेल्पफुल है कि अप्लाई विंडो फ़ंक्शन एक पार्टिशन के अंदर टेबल आउटपुट कॉलम रिज़ल्ट को कैसे कैलकुलेट करता है। यह उन डेटाबेस टेबल में फ़ंक्शन के लिए रोज के आर्डर या सीक्वेंस को असेंडिंग या डीसेंडिंग आर्डर को कंट्रोल करता है. जिन डाटा कॉलम को सीक्वेंशियल या ऑर्डर्ड में प्रोसेसिंग की आवश्यकता होती है. जैसे ROW_NUMBER(), RANK(), NTILE(), और अन्य डेटाबेस टेबल विंडो फंक्शन है।

ROW_NUMBER() example with ORDER BY.

  • तो चलिए यहाँ हम एम्प्लॉई टेबल में डिपार्टमेंट एम्प्लॉई को उनकी सैलरी के हिसाब से रो नंबर को प्रोवाइड करे.

SELECT employee_id, department_id, salary,

ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY salary DESC) AS row_num

FROM employee;

यहाँ ROW_NUMBER() विंडो फंक्शन हर एम्प्लॉई डिपार्टमेंट के लिए नंबरिंग फिर से स्टार्ट करता है। यहाँ PARTITION BY department_id, स्टेटमेंट हर डिपार्टमेंट में एम्प्लॉई को उनकी सैलरी के अनुसार डीसेंडिंग आर्डर में ऑर्डर या अरेंज करता है।

Example of NTILE() with ORDER BY.

  • तो चलिए यहाँ हम एम्प्लॉई टेबल में एम्प्लॉई को उनकी सैलरी के आधार पर 3 क्वार्टाइल में डिवाइड कर डिस्प्ले करे.

SELECT employee_id, department_id, salary,

NTILE(3) OVER (PARTITION BY department_id ORDER BY salary DESC) AS quartile

FROM employee;

Explanation of NTILE() with ORDER BY.

  • यहाँ NTILE(3) विंडो फ़ंक्शन हर डिपार्टमेंट में एम्प्लॉई को उनकी सैलरी के आधार पर 3 क्वार्टाइल में डिवाइड कर डिस्प्ले करता है, जिसमें सबसे अधिक सैलरी पाने वाले एम्प्लॉई पहले क्वार्टाइल में और सबसे कम सैलरी पाने वाले एम्प्लॉई लास्ट क्वार्टाइल में प्रीव्यू होते हैं।
  • यहाँ टेबल डेटा को हर डिपार्टमेंट में सैलरी DESC आर्डर के अनुसार ऑर्डर किया जाता है, जिससे यह तय हो सके कि सबसे ज़्यादा सैलरी पाने वाले एम्प्लॉई पहले क्वार्टाइल में डिस्प्ले हो जाए।

Conclusion of the OVER() and Partitioning window functions.

  • OVER() क्लॉज़ एक पॉवरफुल एसक्यूएल विंडो फंक्शन है, जो डेटाबेस यूजर को टेबल कॉलम आउटपुट को स्माल किए बिना, टेबल डाटा रैंकिंग, टोटल सम और मूविंग एवरेज जैसी विंडो बेस्ड कैलकुलेशन करने में सक्षम करता है।
  • डेटाबेस टेबल में OVER() क्लॉज़ स्टेटमेंट में PARTITION BY के साथ पार्टीशनिंग डेटाबेस यूजर को टेबल कॉलम डेटा को मल्टीप्ल ग्रुप में कम्बाइंड कर डिवाइड करने और हर टेबल कॉलम ग्रुप के लिए इंडिविजुअल रूप से आउटपुट को कैलकुलेट करने के लिए जरूरी है, जो स्पेशल आर्डर में ग्रुपिंग या पदानुक्रमित डेटा जैसे, एम्प्लॉई डिपार्टमेंट में एम्प्लॉई, एरिया के अनुसार सेल्स के साथ काम करते समय अधिक यूज़फुल होता है।
  • यहाँ OVER() क्लॉज़ विंडो फंक्शन के साथ ORDER BY क्लॉज़ स्टेटमेंट को अप्लाई करते समय, यह डेटाबेस यूजर को टेबल ग्रुप पार्टीशन के अंदर टेबल रोज को कैसे अरेंज किया जाता है. जिससे की डेटाबेस यूजर इन्हे एक प्रॉपर आर्डर या मेथड से रैंक करना या क्युमुलेटिव वैल्यू कैलकुलेशन करना पॉसिबल या आसान हो जाता है।

Leave a Reply