ORDER BY DESC और LIMIT के साथ शीर्ष रिकॉर्ड प्राप्त करना
सबसे बड़े मानों वाले रिकॉर्ड प्राप्त करने के लिए ORDER BY DESC के साथ LIMIT का उपयोग करें।
उदाहरण सेटअप
mysql> CREATE TABLE DemoTable (
Amount INT
);
Query OK, 0 rows affected (0.73 sec)
mysql> INSERT INTO DemoTable VALUES(986); Query OK, 1 row affected (0.10 sec) mysql> INSERT INTO DemoTable VALUES(1010); Query OK, 1 row affected (0.20 sec) mysql> INSERT INTO DemoTable VALUES(769); Query OK, 1 row affected (0.18 sec) mysql> INSERT INTO DemoTable VALUES(989); Query OK, 1 row affected (0.12 sec) mysql> INSERT INTO DemoTable VALUES(999); Query OK, 1 row affected (0.15 sec)
सभी रिकॉर्ड
mysql> SELECT * FROM DemoTable;
+--------+ | Amount | +--------+ | 986 | | 1010 | | 769 | | 989 | | 999 | +--------+ 5 rows in set (0.00 sec)
शीर्ष दो मान प्राप्त करने की क्वेरी
mysql> SELECT * FROM DemoTable ORDER BY Amount DESC LIMIT 2;
परिणाम:
+--------+ | Amount | +--------+ | 1010 | | 999 | +--------+ 2 rows in set (0.00 sec)
ध्यान दें: ORDER BY Amount DESC डेटा को अवरोही क्रम में व्यवस्थित करता है, और LIMIT 2 केवल पहले दो रिकॉर्ड लौटाता है। यह तकनीक "टॉप N" रिपोर्ट के लिए मानक है।