ROW_NUMBER(), RANK(), DENSE_RANK(), NTILE() sql In Hindi

ROW_NUMBER(), RANK(), DENSE_RANK(), NTILE() sql In Hindi

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

ROW_NUMBER(), RANK(), DENSE_RANK(), NTILE() sql In Hindi

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

ROW_NUMBER() in SQL database management.

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

Syntax of ROW_NUMBER() in SQL.

SELECT column_name,

ROW_NUMBER() OVER (ORDER BY column_name) AS row_num

FROM table_name;

Example of ROW_NUMBER() in SQL.

  • यहाँ माना की डेटाबेस यूजर के पास एक एम्प्लॉई नाम से डेटाबेस टेबल है, जिसमें पहले से टेबल फील्ड एम्प्लॉई_आईडी, एम्प_नाम और सैलरी कॉलम फील्ड डिफाइन हैं। यहाँ डेटाबेस यूजर हर एम्प्लॉई को उसकी सैलरी के हिसाब से एक यूनिक रो नंबर प्रोवाइड करना चाहते हैं.

SELECT employee_id, emp_name, salary,

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

FROM employee;

ROW_NUMBER() in SQL Explanation.

  • यहाँ ROW_NUMBER() फ़ंक्शन एम्प्लॉई टेबल में हर एम्प्लॉई को एक यूनिक रो नंबर प्रोवाइड करता है, जो एम्प्लॉई सैलरी के हिसाब से उसे डिसेंडिंग आर्डर में प्रोवाइड करता है।
  • यहाँ यदि दो एम्प्लॉई की सैलरी एक बराबर है, तो भी यहाँ ROW_NUMBER() फंक्शन उन्हें अलग-अलग रो नंबर प्रोवाइड करता है।

RANK() in SQL database management.

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

Syntax of RANK() in SQL database.

SELECT column_name,

RANK() OVER (ORDER BY column_name) AS rank

FROM table_name;

Example of RANK() in SQL database.

  • यहाँ एम्प्लॉई टेबल को यूज़ करके, एम्प्लॉई डाटा को उनकी सैलरी के आधार पर रैंक कर रैंकिंग प्रोवाइड की जाती हैं, जिस एम्प्लॉई टेबल समान फील्ड रौ में टाई की संभावना होती है.

SELECT employee_id, emp_name, salary,

RANK() OVER (ORDER BY salary DESC) AS rank

FROM employee;

RANK() in SQL database explanation.

  • यहाँ यदि एम्प्लॉई टेबल में दो एम्प्लॉई की सैलरी एक समान है, तो यहाँ दोनों एम्प्लॉई को एक जैसी रैंक प्रोवाइड की जाती है। हालांकि, इसमें नेक्स्ट एम्प्लॉई को गैप के बाद रैंक प्रोवाइड की जाती है, जैसे, अगर दो एम्प्लॉई की रैंक 1 है, तो अगली रैंक 3 होगी, 2 रैंक नहीं होती है।
  • जैसे, यदि एम्प्लॉई टेबल में सबसे ज़्यादा सैलरी पाने वाले दो एम्प्लॉई हैं, तो दोनों एम्प्लॉई को रैंक 1 प्रोवाइड की जाती है, और नेक्स्ट एम्प्लॉई को रैंक 3 प्रोवाइड की जाती है. रैंक 2 को टेबल में छोड़ दिया जाता है।

DENSE_RANK() in SQL database management.

एसक्यूएल डेटाबेस टेबल में DENSE_RANK() फ़ंक्शन RANK() जैसा ही डेटाबेस फंक्शन है, लेकिन DENSE_RANK() फ़ंक्शन में रैंकिंग में कोई गैप प्रोवाइड नहीं होता है। यदि यहाँ एम्प्लॉई डेटाबेस टेबल में दो टेबल रो की वैल्यू एक जैसी होती है, तो उन्हें एक जैसी रैंक प्रोवाइड की जाती है, और नेक्स्ट टेबल रो को बिना कोई नंबर छोड़े अगली रैंक प्रोवाइड की जाती है।

Syntax of DENSE_RANK() in SQL database.

SELECT column_name,

DENSE_RANK() OVER (ORDER BY column_name) AS dense_rank

FROM table_name;

Example of DENSE_RANK() in SQL database.

  • यह एम्प्लॉई टेबल को यूज़ करके एम्प्लॉई को उनकी सैलरी के हिसाब से बिना किसी स्पेसिफिक गैप के रैंक कर सीक्वेंस में डिस्प्ले करता है.

SELECT employee_id, emp_name, salary,

DENSE_RANK() OVER (ORDER BY salary DESC) AS dense_rank

FROM employee;

DENSE_RANK() in SQL database explanation.

  • यहाँ एम्प्लॉई टेबल में एक जैसी सैलरी पाने वाले एम्प्लॉई को एक जैसी रैंक प्रोवाइड की जाती है।
  • जहा एम्प्लॉई रैंकिंग आर्डर में कोई गैप नहीं होता है। जैसे, अगर दो एम्प्लॉई की रैंक 1 प्रोवाइड है, तो नेक्स्ट एम्प्लॉई की रैंक 2 होगी, 3 नहीं होती है, जैसा कि RANK() में डिफाइन होता है।

NTILE() in SQL database management.

एसक्यूएल डेटाबेस टेबल में NTILE() फ़ंक्शन डेटाबेस टेबल रो रिज़ल्ट आउटपुट को बराबर पार्ट या “टाइल्स” की एक फिक्स नंबर में डिवाइड कर डिस्प्ले करता है। यह टेबल में उस ग्रुप या टाइल नंबर को डिस्प्ले करता है, जिससे हर टेबल रो ऐड है। यहाँ NTILE() फ़ंक्शन टेबल डेटा को क्वार्टाइल, डेसिल, या किसी भी दूसरे पार्टिशन में डिवाइड करने के लिए यूज़फुल फंक्शन है।

The syntax of NTILE() in SQL databases.

SELECT column_name,

NTILE(number_of_tiles) OVER (ORDER BY column_name) AS tile

FROM table_name;

Element of NTILE() in SQL database.

  • यहाँ number_of_tiles उन टेबल ग्रुप या “टाइल” की नंबर्स को डिस्प्ले करता है, जिनमें टेबल रिज़ल्ट आउटपुट ग्रुप को डिवाइड किया जाना है।
  • यहाँ टेबल रिज़ल्ट सेट को ORDER BY क्लॉज़ के हिसाब से टेबल में ऑर्डर या सीक्वेंस किया जाता है।

Example of NTILE() in SQL database.

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

SELECT employee_id, emp_name, salary,

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

FROM employee;

Explanation of NTILE() in SQL database.

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

Main Difference Between Row_Number(), Rank(), Dense_Rank(), And Ntile()

Database FunctionTable Function DescriptionHandling of TiesUse Case Example
ROW_NUMBER() functionRow_number() function used to Assigns a unique, sequential number to each row in database table.It supports No ties, all rows are numbered distinctly from each other.It used to Creating a unique identifier or pagination in proper sequence.
RANK() functionRank() used to Assigns ranks to table rows, but introduces gaps in the ranking if there are ties between same table row value.It supports Tied rows get the same rank, but subsequent ranks are skipped during numbering process.It used to Ranking table row items where gaps in ranks are acceptable according.
DENSE_RANK() functionDense_rank() used to Assigns ranks without table row gaps even when there are ties between same table row.Here it shows Tied rows get the same rank, but subsequent ranks are not skipped during process.It used to Ranking items where no gaps in ranks are desired result.
NTILE()functionNtile() used to Divides the result set into a specified number of approximately equal parts tiles with table row.it Does not handle ties directly in database table row, here table rows are divided into tiles group.Here it Dividing table data into groups for analysis or multiple parts. (ex, quartiles, deciles).

Summary of ROW_NUMBER(), RANK(), DENSE_RANK(), NTILE() function.

  • एसक्यूएल डेटाबेस टेबल में ROW_NUMBER() फंक्शन तब यूज़फुल होता है, जब डेटाबेस यूजर को हर टेबल रो के लिए एक यूनिक सीक्वेंशियल नंबर आर्डर में डिस्प्ले चाहिए होता है।
  • डेटाबेस टेबल में RANK() फंक्शन तब इम्पोर्टेन्ट होता है, जब डेटाबेस यूजर को टेबल में टाई रैंक के बीच गैप वाले टेबल रौ आइटम को रैंक करना होता है।
  • डेटाबेस टेबल में DENSE_RANK() तब अप्लाई किया जाता है, जब टेबल डाटा में टाई रैंक के बीच गैप के बिना रौ आइटम को रैंक करना होता है।
  • डेटाबेस टेबल में NTILE() को तब अप्लाई किया जाता है, जब डेटाबेस यूजर को टेबल डेटा को स्पेसिफिक नंबर पार्ट में डिवाइड करते समय किया जाता है, जैसे कि क्वार्टाइल, डेसिल, या अन्य पर्सेंटाइल में डिवाइड कर डिस्प्ले करता है।

Leave a Reply