आप OVER
का उपयोग कर सकते हैं खंड और एक रैंकिंग समारोह। आप इस पर सीधे फ़िल्टर नहीं कर सकते हैं, इसलिए आपको हमें एक उप क्वेरी या एक सामान्य तालिका अभिव्यक्ति की आवश्यकता है, नीचे दिया गया उदाहरण बाद वाले का उपयोग करता है।
DECLARE @MyTable TABLE
(
ID INT,
Name VARCHAR(15)
);
INSERT INTO @MyTable VALUES (1, 'Alice');
INSERT INTO @MyTable VALUES (2, 'Bob');
INSERT INTO @MyTable VALUES (3, 'Chris');
INSERT INTO @MyTable VALUES (4, 'David');
INSERT INTO @MyTable VALUES (5, 'Edgar');
WITH people AS
(
SELECT ID, Name, ROW_NUMBER() OVER (ORDER BY ID) RN
FROM @MyTable
)
SELECT ID, Name
FROM people
WHERE RN > 1;
OFFSET
के साथ SQL सर्वर (कोडनाम Denali) के अगले संस्करण में पेजिनेशन के लिए बेहतर समर्थन होगा और FETCH
कीवर्ड।