LIMIT OFFSET के साथ पेजिनेशन और कस्टम क्रम
MySQL में LIMIT offset, count सिंटैक्स का उपयोग करके आप परिणाम सेट से कुछ पंक्तियों को छोड़ सकते हैं और फिर वांछित संख्या में पंक्तियां प्राप्त कर सकते हैं। यह पेजिनेशन के लिए उपयोगी है।
टेबल और डेटा
mysql> CREATE TABLE DemoTable (
Id INT,
Name VARCHAR(100)
);
Query OK, 0 rows affected (0.94 sec)
mysql> INSERT INTO DemoTable VALUES(10,'Chris'); Query OK, 1 row affected (0.16 sec) mysql> INSERT INTO DemoTable VALUES(1,'David'); Query OK, 1 row affected (0.18 sec) mysql> INSERT INTO DemoTable VALUES(4,'Bob'); Query OK, 1 row affected (0.10 sec) mysql> INSERT INTO DemoTable VALUES(6,'Sam'); Query OK, 1 row affected (0.15 sec) mysql> INSERT INTO DemoTable VALUES(7,'Mike'); Query OK, 1 row affected (0.10 sec) mysql> INSERT INTO DemoTable VALUES(5,'Carol'); Query OK, 1 row affected (0.20 sec) mysql> INSERT INTO DemoTable VALUES(9,'John'); Query OK, 1 row affected (0.19 sec)
सभी रिकॉर्ड (Id के अनुसार क्रमबद्ध नहीं)
mysql> SELECT * FROM DemoTable;
+------+-------+ | Id | Name | +------+-------+ | 10 | Chris | | 1 | David | | 4 | Bob | | 6 | Sam | | 7 | Mike | | 5 | Carol | | 9 | John | +------+-------+ 7 rows in set (0.00 sec)
DESC क्रम में 3 छोड़कर 4 रिकॉर्ड प्राप्त करना
mysql> SELECT Name FROM DemoTable ORDER BY Id DESC LIMIT 3,4;
परिणाम:
+-------+ | Name | +-------+ | Sam | | Carol | | Bob | | David | +-------+ 4 rows in set (0.00 sec)
व्याख्या: ORDER BY Id DESC से क्रम: 10, 9, 7, 6, 5, 4, 1। LIMIT 3,4 का अर्थ है पहले 3 छोड़ें (10, 9, 7), फिर अगले 4 लें (6, 5, 4, 1) → Sam, Carol, Bob, David।