MySQL LIMIT और OFFSET: पहली N पंक्तियों के बाद सभी पंक्तियां
LIMIT और OFFSET का उपयोग करके आप परिणाम सेट के किसी भी भाग को प्राप्त कर सकते हैं। पहली 10 पंक्तियों के बाद की सभी पंक्तियों के लिए OFFSET 10 और बड़े LIMIT का उपयोग करें।
उदाहरण: 16 पंक्तियों वाली टेबल से पहली 10 के बाद की पंक्तियां
टेबल बनाएं:
CREATE TABLE DemoTable (Id INT); INSERT INTO DemoTable VALUES (100), (101), (102), (103), (104), (105), (106), (107), (108), (109), (110), (111), (112), (113), (114), (115);
सभी डेटा (16 पंक्तियां):
+------+ | Id | +------+ | 100 | | 101 | | 102 | | 103 | | 104 | | 105 | | 106 | | 107 | | 108 | | 109 | | 110 | | 111 | | 112 | | 113 | | 114 | | 115 | +------+
पहली 10 के बाद की सभी पंक्तियां (OFFSET 10)
SELECT * FROM DemoTable LIMIT 999999 OFFSET 10;
परिणाम (पंक्ति 11-16):
+------+ | Id | +------+ | 110 | | 111 | | 112 | | 113 | | 114 | | 115 | +------+
नोट: मूल लेख की क्वेरी में त्रुटि
मूल लेख में LIMIT 999 OFFSET 0 दिया गया है जो पहली 999 पंक्तियां देता है (पहली 10 के बाद नहीं)। सही क्वेरी:
-- पहली 10 के बाद सभी SELECT * FROM DemoTable LIMIT 18446744073709551615 OFFSET 10; -- या MySQL शॉर्टकट SELECT * FROM DemoTable LIMIT 10, 18446744073709551615;
18446744073709551615 अधिकतम BIGINT मान है, जो "कोई सीमा नहीं" का प्रभाव देता है।
पेजिनेशन पैटर्न