13 पोस्ट करें अंत में टाई के साथ
जोड़ता है . देखें:
- सभी से अधिक या बराबर () और MAX () गति के बराबर
कोई टाई के साथ
नहीं है पोस्टग्रेएसक्यूएल 12 तक क्लॉज, जैसे कि एसक्यूएल सर्वर में है। :
WITH cte AS (
SELECT *, rank() OVER (ORDER BY <something>) AS rnk
FROM tbl
)
SELECT *
FROM cte
WHERE rnk <= n;
स्पष्ट होने के लिए, रैंक ()
सही है, dense_rank()
गलत होगा (बहुत अधिक पंक्तियाँ लौटाएँ)।
SQL सर्वर डॉक्स से इस उद्धरण पर विचार करें (उपरोक्त लिंक से):
उदाहरण के लिए, यदि एक्सप्रेशन 5 पर सेट है, लेकिन 2 अतिरिक्त पंक्तियाँ पंक्ति 5 में ORDER BY कॉलम के मानों से मेल खाती हैं, तो परिणाम सेट में 7 पंक्तियाँ होंगी।
with TIES
. का काम शीर्ष पर अंतिम पंक्ति के सभी साथियों को शामिल करना है n जैसा कि ORDER BY
. द्वारा परिभाषित किया गया है खंड। रैंक ()
ठीक वैसा ही परिणाम देता है।
यह सुनिश्चित करने के लिए, मैंने SQL सर्वर के साथ परीक्षण किया, यहाँ एक लाइव डेमो है।
और यहाँ एक अधिक सुविधाजनक SQLfiddle है।