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

MySQL में टेबल से दूसरी-अंतिम (सेकंड लास्ट) रिकॉर्ड प्राप्त करना

सबक्वेरी के साथ LIMIT 2 और बाहरी ORDER BY ... LIMIT 1 का उपयोग करके अंतिम से दूसरी पंक्ति प्राप्त करें।

सिंटैक्स:

SELECT * FROM (
    SELECT * FROM yourTable ORDER BY idCol DESC LIMIT 2
) t ORDER BY idCol LIMIT 1;

एक टेबल बनाते हैं:

CREATE TABLE lastRecordBeforeLastOne (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Name VARCHAR(20) DEFAULT 'John',
    Age INT DEFAULT 18
);

10 रिकॉर्ड डालें।

दूसरी-अंतिम रिकॉर्ड प्राप्त करें:

SELECT * FROM (
    SELECT * FROM lastRecordBeforeLastOne ORDER BY Id DESC LIMIT 2
) t1 ORDER BY Id LIMIT 1;

आउटपुट

+----+---------+------+
| Id | Name    | Age  |
+----+---------+------+
| 9  | Maxwell | 29   |
+----+---------+------+

व्याख्या:

  1. आंतरिक क्वेरी: ORDER BY Id DESC LIMIT 2 - अंतिम 2 पंक्तियाँ (Id 10, 9) लाती है
  2. बाहरी क्वेरी: ORDER BY Id LIMIT 1 - उनमें से पहली (कम Id = 9) लौटाती है

MySQL 8.0+ में: ROW_NUMBER() या LAG() विंडो फंक्शन का उपयोग करें।

  1. Java के साथ MySQL डेटाबेस में टेबल से अंतिम रिकॉर्ड कैसे प्राप्त करें? Java के साथ MySQL डेटाबेस में टेबल से अंतिम रिकॉर्ड कैसे प्राप्त करें?

    MySQL डेटाबेस से डेटा प्राप्त करने के लिए, आपको Java से executeQuery() मेथड का उपयोग करना होगा। पहले MySQL डेटाबेस में एक टेबल बनाएं। यहां हम sample डेटाबेस में निम्नलिखित टेबल बनाएंगे: ); Query OK, 0 rows affected (0.80 sec) अब INSERT कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डाल सकते हैं। क्वेरी

  1. - MySQL में टॉप 3 सैलरी कैसे प्राप्त करें?

    LIMIT और OFFSET से टॉप N सैलरी निकालना MySQL में सबसे ज्यादा सैलरी वाले रिकॉर्ड पाने के लिए ORDER BY DESC के साथ LIMIT और OFFSET का उपयोग करें। टेबल बनाना और डेटा इन्सर्ट करना CREATE TABLE DemoTable867(EmployeeSalary INT); INSERT INTO DemoTable867 VALUES(63737); INSERT INTO DemoTable867 VALUES(899

  1. - MySQL में छात्र स्कोर वाली टेबल से दूसरा सबसे ऊंचा मान कैसे प्राप्त करें

    दूसरा सबसे ऊंचा मान लाने के लिए ORDER BY DESC के साथ LIMIT 1,1 का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable ( StudentScore int ); Query OK, 0 rows affected (0.56 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable valu