Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में LIMIT और OFFSET के साथ कौन सी पंक्तियाँ लौटाई जाती हैं?


LIMIT और OFFSET: पेजिनेशन के लिए पंक्ति चयन समझें

LIMIT N OFFSET M का अर्थ है: M पंक्तियाँ छोड़ें, फिर अगली N पंक्तियाँ लौटाएं। पंक्ति गिनती 0 से शुरू होती है (OFFSET 0 = पहली पंक्ति)।

नियम

  • LIMIT 4 OFFSET 6 → पंक्ति 7, 8, 9, 10 लौटाता है (0-आधारित: सूचकांक 6,7,8,9)
  • LIMIT 10 OFFSET 0 → पहली 10 पंक्तियाँ
  • LIMIT 10 OFFSET 20 → 21वीं से 30वीं पंक्ति

उदाहरण

1. टेबल बनाएं और 13 पंक्तियाँ डालें

mysql> CREATE TABLE LimitOffsettable (Id INT);
mysql> INSERT INTO LimitOffsettable VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13);

2. सभी पंक्तियाँ देखें

mysql> SELECT * FROM LimitOffsettable;
+------+
| Id   |
+------+
| 1    |  -- पंक्ति 1 (OFFSET 0)
| 2    |  -- पंक्ति 2 (OFFSET 1)
| 3    |  -- पंक्ति 3 (OFFSET 2)
| 4    |  -- पंक्ति 4 (OFFSET 3)
| 5    |  -- पंक्ति 5 (OFFSET 4)
| 6    |  -- पंक्ति 6 (OFFSET 5)
| 7    |  -- पंक्ति 7 (OFFSET 6) ← यहां से शुरू
| 8    |  -- पंक्ति 8 (OFFSET 7)
| 9    |  -- पंक्ति 9 (OFFSET 8)
| 10   |  -- पंक्ति 10 (OFFSET 9) ← यहां समाप्त
| 11   |
| 12   |
| 13   |
+------+

3. LIMIT 4 OFFSET 6 लागू करें

mysql> SELECT * FROM LimitOffsettable LIMIT 4 OFFSET 6;
+------+
| Id   |
+------+
| 7    |
| 8    |
| 9    |
| 10   |
+------+

सिंटैक्स विविधताएं

OFFSET = (p - 1) * size
LIMIT = size

महत्वपूर्ण नोट्स

  • ORDER BY के बिना परिणाम क्रम अनिश्चित है - हमेशा ORDER BY उपयोग करें
  • बड़े OFFSET पर प्रदर्शन गिरता है (MySQL को छोड़नी वाली पंक्तियाँ स्कैन करनी पड़ती हैं)
  • कर्सर-आधारित पेजिनेशन (WHERE id > last_seen_id) बड़े डेटासेट के लिए बेहतर
  1. - MySQL में JOIN का उपयोग करके पारस्परिक संबंध वाली पंक्तियों की गिनती

    परिचय जब एक टेबल में दो कॉलम होते हैं जो एक-दूसरे से संबंधित होते हैं (जैसे Value1 और Value2), और आप पारस्परिक संबंध (mutual relation) वाली पंक्तियों की गिनती करना चाहते हैं, तो सेल्फ-जॉइन (self-join) का उपयोग किया जा सकता है। उदाहरण: टेबल बनाना और डेटा डालना ); Query OK, 0 rows affected (1.36 sec

  1. - MySQL में DISTINCT से डुप्लिकेट पंक्तियों में से एक पंक्ति दिखाएं

    DISTINCT कीवर्ड से अद्वितीय पंक्तियां प्राप्त करें पूरी पंक्ति के डुप्लिकेट को हटाकर केवल अद्वितीय पंक्तियां प्राप्त करने के लिए SELECT DISTINCT * का उपयोग करें। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1998 ( Name varchar(20) ); Query OK, 0 rows affected (0.61 sec) mysql> insert

  1. - Apache के साथ MySQL का उपयोग करना

    आइए समझते हैं कि Apache के साथ MySQL का उपयोग कैसे करें: Apache एक वेब सर्वर सॉफ़्टवेयर है जिसे Apache सॉफ़्टवेयर फाउंडेशन द्वारा विकसित और रखरखाव किया जाता है। यह एक सॉफ़्टवेयर है जो वेब पेज एक्सेस करने के लिए उपयोगकर्ता से अनुरोध लेता है। HTTP अनुरोध पर कुछ सुरक्षा जांच की जाती है और फिर उपयोगक