विश्लेषणात्मक फ़ंक्शन का उपयोग करें
SELECT value
FROM (SELECT value,
dense_rank() over (order by value asc) rnk
FROM table)
WHERE rnk = 2
विश्लेषणात्मक कार्य RANK
, DENSE_RANK
, और ROW_NUMBER
समान हैं सिवाय इसके कि वे संबंधों को कैसे संभालते हैं। RANK
संबंधों को तोड़ने की एक खेल-शैली की प्रक्रिया का उपयोग करता है, इसलिए यदि दो पंक्तियाँ 1 के रैंक के लिए टाई करती हैं, तो अगली पंक्ति की रैंक 3 होती है। DENSE_RANK
दोनों पंक्तियों को पहले स्थान के लिए 1 रैंक देता है और फिर अगली पंक्ति को 2 रैंक प्रदान करता है। ROW_NUMBER
मनमाने ढंग से टाई तोड़ता है और दो पंक्तियों में से एक को निम्नतम मान के साथ 1 रैंक और दूसरे को 2 रैंक देता है।