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

MySQL क्वेरी से बहुत सारी पंक्तियाँ कैसे चुनें?

LIMIT क्लॉज से परिणाम सीमित करें

बड़े परिणाम सेट से केवल आवश्यक पंक्तियाँ प्राप्त करने के लिए LIMIT क्लॉज का उपयोग करें। यह पेजिनेशन और प्रदर्शन के लिए आवश्यक है।

सिंटैक्स

-- पहले N पंक्तियाँ
SELECT * FROM table LIMIT N;

-- ऑफसेट के साथ (पेजिनेशन)
SELECT * FROM table LIMIT offset, count;
-- या
SELECT * FROM table LIMIT count OFFSET offset;

टेबल और डेटा

mysql> CREATE TABLE DemoTable (Id INT, Name VARCHAR(20));
mysql> INSERT INTO DemoTable VALUES(10,'John'), (11,'Chris'), (12,'David'), (13,'Carol'), (14,'Mike'), (15,'Sam'), (16,'Robert');

सभी रिकॉर्ड

mysql> SELECT * FROM DemoTable;

+------+--------+
| Id   | Name   |
+------+--------+
| 10   | John   |
| 11   | Chris  |
| 12   | David  |
| 13   | Carol  |
| 14   | Mike   |
| 15   | Sam    |
| 16   | Robert |
+------+--------+

पहले 2 छोड़कर अगले 4 पंक्तियाँ (पेज 2, पेज आकार 4)

mysql> SELECT * FROM DemoTable LIMIT 2, 4;

+------+-------+
| Id   | Name  |
+------+-------+
| 12   | David |
| 13   | Carol |
| 14   | Mike  |
| 15   | Sam   |
+------+-------+

LIMIT पैरामीटर

  • LIMIT 5 - पहली 5 पंक्तियाँ
  • LIMIT 2, 4 - 3री पंक्ति से शुरू करके 4 पंक्तियाँ (ऑफसेट 2, काउंट 4)
  • LIMIT 4 OFFSET 2 - समान, अधिक पठनीय सिंटैक्स

ORDER BY के साथ उपयोग (आवश्यक)

-- स्थिर परिणाम के लिए हमेशा ORDER BY उपयोग करें
SELECT * FROM DemoTable ORDER BY Id LIMIT 10 OFFSET 20;

बड़े ऑफसेट की प्रदर्शन समस्या

बड़े ऑफसेट (जैसे LIMIT 1000000, 10) धीमे होते हैं। विकल्प:

-- कर्सर-आधारित पेजिनेशन (जहां Id इंडेक्स्ड है)
SELECT * FROM DemoTable WHERE Id > 1000000 ORDER BY Id LIMIT 10;
  1. - MySQL में रिकर्सिव SELECT क्वेरी कैसे करें

    रिकर्सिव सेलेक्ट के लिए, आइए एक उदाहरण देखते हैं। सबसे पहले, हम एक टेबल बनाएंगे। टेबल बनाने के लिए CREATE कमांड का उपयोग किया जाता है। ); Query OK, 0 rows affected (0.61 sec) अब, हम टेबल tblSelectDemo में रिकॉर्ड्स डालेंगे। insert into tblSelectDemo values(5,Bob); Query OK, 1 row affected (0.18

  1. - MySQL SELECT क्वेरी: किसी टेबल से उन रो को चुनें जो दूसरी टेबल में नहीं हैं

    हमारे उदाहरण के लिए, हम दो टेबल बनाएंगे और नेचुरल लेफ्ट जॉइन लागू करके उन रो को प्राप्त करेंगे जो पहली टेबल में हैं लेकिन दूसरी में नहीं। पहली टेबल बनाना। mysql> create table FirstTableDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.48 sec) पहली ट

  1. MySQL से अंतिम 10 रो कैसे चुनें? MySQL से अंतिम 10 रो कैसे चुनें?

    MySQL से अंतिम 10 रो चुनने के लिए, हम SELECT स्टेटमेंट और LIMIT कॉन्सेप्ट के साथ सबक्वेरी का उपयोग कर सकते हैं। निम्न एक उदाहरण है। टेबल बनाना। mysql> create table Last10RecordsDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.75 sec) टेबल में रिकॉर