MOD() फ़ंक्शन का उपयोग करके वैकल्पिक पंक्तियों (विषम/सम आईडी) को फ़िल्टर करें, फिर ORDER BY DESC के साथ क्रमबद्ध करें।
टेबल बनाना और डेटा डालना
mysql> CREATE TABLE DemoTable (
UniqueId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
ClientName VARCHAR(40),
ClientAge INT
);
Query OK, 0 rows affected (1.02 sec)
mysql> INSERT INTO DemoTable(ClientName,ClientAge) VALUES('Chris',34);
mysql> INSERT INTO DemoTable(ClientName,ClientAge) VALUES('Tom',45);
mysql> INSERT INTO DemoTable(ClientName,ClientAge) VALUES('Sam',36);
mysql> INSERT INTO DemoTable(ClientName,ClientAge) VALUES('Carol',42);
mysql> INSERT INTO DemoTable(ClientName,ClientAge) VALUES('David',38);
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट:
+----------+------------+-----------+
| UniqueId | ClientName | ClientAge |
+----------+------------+-----------+
| 1 | Chris | 34 |
| 2 | Tom | 45 |
| 3 | Sam | 36 |
| 4 | Carol | 42 |
| 5 | David | 38 |
+----------+------------+-----------+
5 rows in set (0.00 sec)
वैकल्पिक पंक्तियाँ (विषम आईडी) अवरोही क्रम में
mysql> SELECT * FROM DemoTable
WHERE MOD(UniqueId,2)=1
ORDER BY UniqueId DESC;
परिणाम:
+----------+------------+-----------+
| UniqueId | ClientName | ClientAge |
+----------+------------+-----------+
| 5 | David | 38 |
| 3 | Sam | 36 |
| 1 | Chris | 34 |
+----------+------------+-----------+
3 rows in set (0.00 sec)
नोट: MOD(UniqueId,2)=1 विषम आईडी चुनता है। सम आईडी के लिए =0 उपयोग करें। बड़े डेटासेट के लिए, ऑफसेट के साथ LIMIT अधिक कुशल हो सकता है।