LIMIT OFFSET के साथ N-वां सबसे बड़ा मान
अवरोही क्रम में क्रमबद्ध करके LIMIT 1 OFFSET N-1 से N-वां सबसे बड़ा मान प्राप्त करें। चौथे सबसे बड़े के लिए OFFSET 3।
टेबल और डेटा
mysql> CREATE TABLE DemoTable (
Amount INT
);
Query OK, 0 rows affected (0.88 sec)
mysql> INSERT INTO DemoTable VALUES(980); Query OK, 1 row affected (0.15 sec) mysql> INSERT INTO DemoTable VALUES(670); Query OK, 1 row affected (0.19 sec) mysql> INSERT INTO DemoTable VALUES(890); Query OK, 1 row affected (0.15 sec) mysql> INSERT INTO DemoTable VALUES(995); Query OK, 1 row affected (0.25 sec) mysql> INSERT INTO DemoTable VALUES(198); Query OK, 1 row affected (0.10 sec)
सभी रिकॉर्ड
mysql> SELECT * FROM DemoTable;
+--------+ | Amount | +--------+ | 980 | | 670 | | 890 | | 995 | | 198 | +--------+ 5 rows in set (0.00 sec)
चौथा सबसे बड़ा मान (OFFSET 3)
mysql> SELECT * FROM DemoTable ORDER BY Amount DESC LIMIT 1 OFFSET 3;
परिणाम:
+--------+ | Amount | +--------+ | 670 | +--------+ 1 row in set (0.00 sec)
क्रम: 995 (1st), 980 (2nd), 890 (3rd), 670 (4th), 198 (5th)। OFFSET 3 पहले 3 छोड़ता है, LIMIT 1 अगला 1 लेता है।
सामान्य सूत्र: N-वें सबसे बड़े के लिए LIMIT 1 OFFSET N-1। N-वें सबसे छोटे के लिए ORDER BY Amount ASC LIMIT 1 OFFSET N-1।