Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में ORDER BY DESC और LIMIT का उपयोग करके निचले N रिकॉर्ड्स प्राप्त करना

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, 45वीं से 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 पंक्तियाँ ढूंढ सकता है।

  1. - MySQL क्वेरी लिखकर पहले 10 रिकॉर्ड कैसे चुनें

    पहले 10 रिकॉर्ड चुनने के लिए, हम पहले रिकॉर्ड को आरोही या अवरोही क्रम में क्रमबद्ध कर सकते हैं। इसके साथ, केवल 10 रिकॉर्ड प्राप्त करने के लिए LIMIT 10 का उपयोग करें: select *from (select *from yourTableName ORDER BY yourColumnName ASC LIMIT 10)anyAliasName ORDER BY yourColumnName DESC; पहले एक टेबल

  1. - MySQL में INSERT ... SELECT क्वेरी का उपयोग कैसे करें?

    MySQL में INSERT ... SELECT स्टेटमेंट एक ही क्वेरी में एक तालिका से दूसरी तालिका में डेटा कॉपी करने या मानों की गणना करके डालने की अनुमति देता है। सिंटैक्स INSERT INTO target_table (col1, col2, col3, ...) SELECT col1, col2, col3, ... FROM source_table WHERE condition; उदाहरण: मानों को सीधे चुनकर ड

  1. - MySQL में FORMAT() का उपयोग करके मुद्रा रिकॉर्ड कैसे सेट करें?

    MySQL में FORMAT() फ़ंक्शन का उपयोग करके संख्याओं को मुद्रा फॉर्मेट (हजारों विभाजक, निश्चित दशमलव) में प्रदर्शित किया जा सकता है। सिंटैक्स CONCAT(CURRENCY_SYMBOL , FORMAT(amount, decimal_places)) उदाहरण तालिका बनाएं: mysql> CREATE TABLE DemoTable (Amount DECIMAL(15,4)); mysql> INSERT INTO De