ORDER BY और LIMIT OFFSET के साथ दूसरी क्रमबद्ध पंक्ति प्राप्त करना
क्रमबद्ध करने के लिए ORDER BY और केवल दूसरी क्रमबद्ध पंक्ति प्राप्त करने के लिए MySQL LIMIT का उपयोग करें और ऑफसेट भी सेट करें। पहले टेबल बनाएं:
mysql> create table DemoTable1417 ( CustomerId int NOT NULL AUTO_INCREMENT PRIMARY KEY, CustomerName varchar(20), ShippingDate date ); Query OK, 0 rows affected (1.10 sec)
रिकॉर्ड डालें:
mysql> insert into DemoTable1417(CustomerName,ShippingDate) values('Chris','2019-01-21'); Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable1417(CustomerName,ShippingDate) values('David','2018-12-01'); Query OK, 1 row affected (0.55 sec)
mysql> insert into DemoTable1417(CustomerName,ShippingDate) values('Carol','2019-09-28'); Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable1417(CustomerName,ShippingDate) values('Sam','2019-08-29'); Query OK, 1 row affected (0.17 sec)
सभी रिकॉर्ड देखें:
mysql> select * from DemoTable1417;
आउटपुट:
+------------+--------------+--------------+ | CustomerId | CustomerName | ShippingDate | +------------+--------------+--------------+ | 1 | Chris | 2019-01-21 | | 2 | David | 2018-12-01 | | 3 | Carol | 2019-09-28 | | 4 | Sam | 2019-08-29 | +------------+--------------+--------------+ 4 rows in set (0.00 sec)
दूसरी क्रमबद्ध पंक्ति प्राप्त करने की क्वेरी:
mysql> select CustomerName, ShippingDate from DemoTable1417 order by CustomerId limit 2,1;
परिणाम:
+--------------+--------------+ | CustomerName | ShippingDate | +--------------+--------------+ | Carol | 2019-09-28 | +--------------+--------------+ 1 row in set (0.00 sec)
व्याख्या: ORDER BY CustomerId पंक्तियों को CustomerId (1,2,3,4) के अनुसार क्रमबद्ध करता है। LIMIT 2,1 का अर्थ है: 2 पंक्तियां छोड़ें (ऑफसेट 2), फिर 1 पंक्ति लें। इस प्रकार तीसरी पंक्ति (CustomerId=3, Carol) लौटाई जाती है। ध्यान दें: शीर्षक "दूसरी क्रमबद्ध पंक्ति" कहता है लेकिन क्वेरी तीसरी पंक्ति (ऑफसेट 2) लौटाती है। दूसरी पंक्ति के लिए LIMIT 1,1 का उपयोग करें।