SQL Academy · पाठ

LIMIT और OFFSET

पहली N पंक्तियाँ प्राप्त करें और पेजिंग करें।

पाठ 3, कुल 4 में से13 चरण

LIMIT और OFFSET, CoddyKit पर SQL Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह SQL Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। SQL Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

केवल कुछ पंक्तियाँ प्राप्त करना

कभी-कभी आप हर मेल खाती पंक्ति नहीं, बल्कि केवल शुरुआती कुछ पंक्तियाँ चाहते हैं। LIMIT यह तय करता है कि क्वेरी अधिकतम कितनी पंक्तियाँ लौटाएगी।

यह अधिकतम 5 उत्पाद लौटाता है।

SELECT name, price
FROM products
LIMIT 5;

ORDER BY के बिना LIMIT यादृच्छिक होता है

LIMIT अकेले आपको कुछ पंक्तियाँ देता है, लेकिन कौन-सी पंक्तियाँ मिलेंगी, यह निश्चित नहीं होता। परिणाम को अर्थपूर्ण और दोहराने योग्य बनाने के लिए इसे हमेशा ORDER BY के साथ इस्तेमाल कीजिए।

-- The 5 newest orders, deterministically
SELECT id, total, created_at
FROM orders
ORDER BY created_at DESC
LIMIT 5;

OFFSET से पंक्तियाँ छोड़ना

OFFSET डेटाबेस को लौटाने से पहले कुछ पंक्तियाँ छोड़ने के लिए कहता है। LIMIT के साथ मिलकर यह पृष्ठांकन का आधार बनता है।

यह पहली 10 पंक्तियाँ छोड़कर अगली 5 पंक्तियाँ लौटाता है।

SELECT name, price
FROM products
ORDER BY name
LIMIT 5 OFFSET 10;

पृष्ठ बनाना

10 पंक्तियों के पृष्ठ आकार के लिए, पृष्ठ संख्याएँ इस तरह offset से जुड़ती हैं:

  • पृष्ठ 1: OFFSET 0
  • पृष्ठ 2: OFFSET 10
  • पृष्ठ 3: OFFSET 20

सूत्र है OFFSET = (page - 1) * page_size।

-- Page 3 with 10 rows per page
SELECT name, price
FROM products
ORDER BY name
LIMIT 10 OFFSET 20;

क्रियाओं का क्रम

डेटाबेस क्लॉज़ को इस क्रम में लागू करता है: WHERE से फ़िल्टर, ORDER BY से क्रम और फिर OFFSET तथा LIMIT से परिणाम छोटा करना।

इसलिए आप हमेशा क्रमबद्ध और फ़िल्टर किए गए परिणाम में पृष्ठांकन करते हैं।

SELECT name, price
FROM products
WHERE price > 0
ORDER BY price DESC
LIMIT 10 OFFSET 0;

LIMIT ALL और OFFSET 0

LIMIT ALL का अर्थ है "कोई सीमा नहीं" (LIMIT छोड़ देने के समान), और OFFSET 0 कुछ भी नहीं छोड़ता। जब कोई मान गतिशील रूप से बनाया जाता है, तब ये कभी-कभी उपयोगी होते हैं।

SELECT name
FROM products
ORDER BY name
LIMIT ALL OFFSET 0;

मानक FETCH वाक्य-विन्यास

PostgreSQL SQL के मानक रूप का भी समर्थन करता है: OFFSET n ROWS FETCH NEXT m ROWS ONLY। यह वही काम करता है जो LIMIT/OFFSET करते हैं, बस अधिक विस्तार से।

SELECT name, price
FROM products
ORDER BY name
OFFSET 10 ROWS
FETCH NEXT 5 ROWS ONLY;

बड़े OFFSET धीमे क्यों होते हैं

बड़ा OFFSET होने पर भी डेटाबेस छोड़ी गई हर पंक्ति को जाँचकर त्यागता है। OFFSET 100000 केवल फेंक देने के लिए 100,000 पंक्तियाँ पढ़ता है, इसलिए बहुत गहरे पृष्ठों पर यह धीमा हो जाता है।

-- Reads 100000 rows then discards them
SELECT id, name
FROM products
ORDER BY id
LIMIT 10 OFFSET 100000;

कीसेट पृष्ठांकन

इसका तेज़ विकल्प कीसेट (सीक) पृष्ठांकन है। OFFSET के बजाय, आपने जो अंतिम पंक्ति देखी थी उसे याद रखिए और उसके बाद की पंक्तियाँ माँगिए।

यह अनुक्रमणिका का उपयोग करके अगले पृष्ठ पर सीधे पहुँचता है, इसलिए कुछ भी छोड़ना नहीं पड़ता।

-- Next page after the last seen id (e.g. 5000)
SELECT id, name
FROM products
WHERE id > 5000
ORDER BY id
LIMIT 10;

स्थिर पृष्ठों के लिए स्थिर क्रम

यदि आपके ORDER BY में समान मान वाली पंक्तियाँ हैं, तो पृष्ठ लोड होने पर उनका क्रम बदल सकता है और आपको डुप्लिकेट या छूटी हुई पंक्तियाँ दिखाई दे सकती हैं। क्रम के अंत में कोई अद्वितीय कुंजी, जैसे प्राथमिक कुंजी, रखें ताकि पृष्ठांकन एकसमान रहे।

SELECT id, name, price
FROM products
ORDER BY price DESC, id
LIMIT 10 OFFSET 20;

एकल शीर्ष पंक्ति

LIMIT 1 किसी एक पंक्ति को प्राप्त करने का तेज़ तरीका है, जैसे सबसे महँगा उत्पाद या नवीनतम ऑर्डर। इसे उचित ORDER BY के साथ मिलाएँ।

SELECT name, price
FROM products
ORDER BY price DESC
LIMIT 1;

त्वरित जाँच

आप प्रति पृष्ठ 10 पंक्तियाँ दिखाते हैं। कौन-सा खंड तीसरा पृष्ठ लौटाता है?

पुनरावलोकन

अब आप अपने परिणामों को खंडों में बाँट सकते हैं:

  • LIMIT n पंक्तियों की संख्या सीमित करता है
  • OFFSET m पंक्तियाँ छोड़ता है; OFFSET = (page-1)*size
  • पूर्वानुमेय पृष्ठों के लिए हमेशा ORDER BY के साथ मिलाएँ
  • गति के लिए बड़े OFFSET मानों के बजाय कीसेट पृष्ठांकन को प्राथमिकता दें

अब आप इन साधनों का उपयोग शीर्ष-N अभिलेख खोजने के लिए करेंगे।

SELECT name, price
FROM products
ORDER BY name
LIMIT 10 OFFSET 20;
शुरुआत निःशुल्क

एआई शिक्षक के साथ SQL सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
46
पाठ
183

अक्सर पूछे जाने वाले प्रश्न

क्या “LIMIT और OFFSET” पाठ निःशुल्क है?

हाँ—“LIMIT और OFFSET” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और SQL Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। SQL Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“LIMIT और OFFSET” में मैं क्या सीखूँगा?

पहली N पंक्तियाँ प्राप्त करें और पेजिंग करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ SQL Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या SQL Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर SQL Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।

“LIMIT और OFFSET” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस SQL Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर SQL Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. ORDER BY के साथ क्रमबद्ध करना
  2. कई कॉलमों के आधार पर क्रमबद्ध करना
  3. LIMIT और OFFSET
  4. शीर्ष-N रिकॉर्ड खोजना
← SQL Academy पर वापस जाएँ