MySQL में "निचले N रिकॉर्ड्स" (सबसे बड़े मान वाले) प्राप्त करने के लिए कॉलम को अवरोही क्रम (DESC) में क्रमबद्ध करें और LIMIT क्लॉज का उपयोग करें।
सिंटैक्स
SELECT * FROM table_name ORDER BY column_name DESC LIMIT n;
व्यावहारिक उदाहरण
1. टेबल बनाएं और डेटा डालें
mysql> CREATE TABLE DemoTable724 (Value INT); Query OK, 0 rows affected (0.79 sec) mysql> INSERT INTO DemoTable724 VALUES (101), (183), (983), (234), (755), (435), (675), (345), (948); Query OK, 9 rows affected (0.15 sec)
2. सभी रिकॉर्ड्स देखें
mysql> SELECT * FROM DemoTable724; +-------+ | Value | +-------+ | 101 | | 183 | | 983 | | 234 | | 755 | | 435 | | 675 | | 345 | | 948 | +-------+ 9 rows in set (0.00 sec)
3. शीर्ष 4 सबसे बड़े मान (निचले 4 रिकॉर्ड्स)
mysql> SELECT * FROM DemoTable724 ORDER BY Value DESC LIMIT 0, 4; +-------+ | Value | +-------+ | 983 | | 948 | | 755 | | 675 | +-------+ 4 rows in set (0.00 sec)
LIMIT क्लॉज विविधताएं
| सिंटैक्स | अर्थ | उदाहरण |
|---|---|---|
LIMIT 4 | पहले 4 पंक्तियाँ (ऑफसेट 0) | LIMIT 4 |
LIMIT 0, 4 | ऑफसेट 0 से 4 पंक्तियाँ | LIMIT 0, 4 |
LIMIT 4 OFFSET 0 | मानक SQL सिंटैक्स | LIMIT 4 OFFSET 0 |
LIMIT 4, 4 | 5वीं से 8वीं पंक्ति (पेजिनेशन) | LIMIT 4, 4 |
महत्वपूर्ण नोट
"निचले N रिकॉर्ड्स" का अर्थ संदर्भ पर निर्भर करता है:
- सम्मिलन क्रम में अंतिम N:
ORDER BY id DESC LIMIT N(यदि ऑटो-इन्क्रीमेंट आईडी है) - मान के अनुसार सबसे बड़े N:
ORDER BY value_column DESC LIMIT N(ऊपर दिखाया गया) - तिथि के अनुसार नवीनतम N:
ORDER BY date_column DESC LIMIT N
पेजिनेशन उदाहरण
-- पेज 1 (पहले 10) SELECT * FROM products ORDER BY price DESC LIMIT 10 OFFSET 0; -- पेज 2 (अगले 10) SELECT * FROM products ORDER BY price DESC LIMIT 10 OFFSET 10; -- पेज n SELECT * FROM products ORDER BY price DESC LIMIT 10 OFFSET (n-1)*10;
प्रदर्शन टिप
ORDER BY ... LIMIT पर इंडेक्स होने से क्वेरी बहुत तेज़ होती है क्योंकि MySQL पूरी टेबल क्रमबद्ध किए बिना शीर्ष N पंक्तियाँ ढूंढ सकता है।