MySQL में ORDER BY DESC LIMIT के साथ शीर्ष N रिकॉर्ड प्राप्त करना
ORDER BY ... DESC के साथ LIMIT का उपयोग करके क्रमबद्ध परिणामों से शीर्ष N पंक्तियां प्राप्त की जा सकती हैं।
व्यावहारिक उदाहरण
तालिका बनाना
mysql> CREATE TABLE DemoTable (
UserId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
UserName VARCHAR(100)
);
रिकॉर्ड डालना
mysql> INSERT INTO DemoTable(UserName) VALUES('Chris');
mysql> INSERT INTO DemoTable(UserName) VALUES('Robert');
mysql> INSERT INTO DemoTable(UserName) VALUES('Bob');
mysql> INSERT INTO DemoTable(UserName) VALUES('David');
mysql> INSERT INTO DemoTable(UserName) VALUES('Mike');
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट:
+--------+----------+ | UserId | UserName | +--------+----------+ | 1 | Chris | | 2 | Robert | | 3 | Bob | | 4 | David | | 5 | Mike | +--------+----------+
UserId के अवरोही क्रम में पहले 3 रिकॉर्ड
mysql> SELECT * FROM DemoTable ORDER BY UserId DESC LIMIT 0, 3;
आउटपुट:
+--------+----------+ | UserId | UserName | +--------+----------+ | 5 | Mike | | 4 | David | | 3 | Bob | +--------+----------+
LIMIT सिंटैक्स
LIMIT 3- पहले 3 (ऑफसेट 0)LIMIT 0, 3- ऑफसेट 0 से 3 पंक्तियांLIMIT 2, 3- ऑफसेट 2 से 3 पंक्तियां (3rd, 4th, 5th)
पेजिनेशन के लिए उपयोग