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

MySQL में केवल अंतिम 5 रिकॉर्ड्स प्राप्त करना (LIMIT और ORDER BY)

DESC क्रम में LIMIT का उपयोग

सबसे हाल के (अंतिम) रिकॉर्ड्स प्राप्त करने के लिए ORDER BY ... DESC के साथ LIMIT N का उपयोग करें।

उदाहरण: टेबल बनाना और डेटा इन्सर्ट करना

mysql> CREATE TABLE DemoTable820(
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    CustomerName VARCHAR(100)
);
Query OK, 0 rows affected (0.53 sec)

6 रिकॉर्ड्स इन्सर्ट करना

mysql> INSERT INTO DemoTable820(CustomerName) VALUES
    ('Chris'),('Robert'),('David'),('Bob'),('Carol'),('Adam');
Query OK, 6 rows affected (...)

सभी रिकॉर्ड्स देखना

mysql> SELECT * FROM DemoTable820;
+----+--------------+
| Id | CustomerName |
+----+--------------+
| 1  | Chris        |
| 2  | Robert       |
| 3  | David        |
| 4  | Bob          |
| 5  | Carol        |
| 6  | Adam         |
+----+--------------+
6 rows in set (0.00 sec)

अंतिम 5 रिकॉर्ड्स की क्वेरी

mysql> SELECT * FROM DemoTable820 ORDER BY Id DESC LIMIT 5;

परिणाम

+----+--------------+
| Id | CustomerName |
+----+--------------+
| 6  | Adam         |
| 5  | Carol        |
| 4  | Bob          |
| 3  | David        |
| 2  | Robert       |
+----+--------------+
5 rows in set (0.00 sec)

क्वेरी व्याख्या

  • ORDER BY Id DESC - उच्चतम ID (नवीनतम) पहले
  • LIMIT 5 - केवल पहले 5 रो लौटाएं
  • परिणाम डिफ़ॉल्ट रूप से DESC क्रम में आता है

आरोही क्रम में परिणाम प्राप्त करना (सबक्वेरी)

यदि परिणाम पुराने से नए क्रम में चाहिए:

SELECT * FROM (
    SELECT * FROM DemoTable820 ORDER BY Id DESC LIMIT 5
) AS recent ORDER BY Id ASC;

परिणाम

+----+--------------+
| Id | CustomerName |
+----+--------------+
| 2  | Robert       |
| 3  | David        |
| 4  | Bob          |
| 5  | Carol        |
| 6  | Adam         |
+----+--------------+

टाइमस्टैम्प कॉलम के साथ

SELECT * FROM DemoTable820 ORDER BY CreatedAt DESC LIMIT 5;

OFFSET के साथ पेजिनेशन

-- पेज 1 (नवीनतम 5)
SELECT * FROM DemoTable820 ORDER BY Id DESC LIMIT 5 OFFSET 0;

-- पेज 2 (अगले 5)
SELECT * FROM DemoTable820 ORDER BY Id DESC LIMIT 5 OFFSET 5;

LIMIT सिंटैक्स विविधताएं

सिंटैक्सअर्थ
LIMIT 5पहले 5 रो
LIMIT 5 OFFSET 1011वें से 15वें रो
LIMIT 10, 5OFFSET 10, LIMIT 5 (MySQL-विशिष्ट)

प्रदर्शन नोट

  • ORDER BY ... LIMIT इंडेक्स का उपयोग कर सकता है यदि ORDER BY कॉलम इंडेक्स्ड है
  • बड़े OFFSET मान धीमे होते हैं (MySQL को सभी पूर्ववर्ती रो स्कैन करने पड़ते हैं)
  • डीप पेजिनेशन के लिए "सीक मेथड" (WHERE Id > last_seen_id) बेहतर है
  1. Microsoft Access डेटाबेस के साथ MySQL LIMIT क्लॉज का अनुकरण कैसे करें Microsoft Access डेटाबेस के साथ MySQL LIMIT क्लॉज का अनुकरण कैसे करें

    Microsoft Access में TOP का उपयोग करके MySQL LIMIT का अनुकरण Microsoft Access में, आप LIMIT के बजाय TOP का उपयोग कर सकते हैं। पहले टेबल बनाएं: INSERT कमांड का उपयोग करके रिकॉर्ड डालें: Access डेटाबेस के साथ MySQL LIMIT क्लॉज का अनुकरण करने की क्वेरी: Run पर क्लिक करने के बाद, आपको वांछित आउटपुट म

  1. - MySQL में DATE_ADD से तारीख में वर्ष जोड़ें

    UPDATE और DATE_ADD() से मौजूदा तारीखों में अंतराल जोड़ें मौजूदा तारीख कॉलम में वर्ष (या अन्य अंतराल) जोड़ने के लिए UPDATE के साथ DATE_ADD() का उपयोग करें। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1984 ( ShippingDate date ); Query OK, 0 rows affected (0.00 sec) mysql> insert into

  1. - MySQL में परिणाम समूहित करें और सूची में दिखाएं

    समाधान GROUP BY के साथ ORDER BY का उपयोग करके गणना और क्रमबद्ध करें। सिंटैक्स SELECT yourColumnName, COUNT(*) AS aliasName FROM yourTableName GROUP BY yourColumnName ORDER BY yourColumnName; उदाहरण टेबल बनाएं: INSERT INTO demo7 (first_name) VALUES (John), (David), (John), (Bob), (David), (David),