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

MySQL में किसी तालिका से दूसरा अंतिम रिकॉर्ड कैसे प्राप्त करें?

<घंटा/>

पिछले एक से पहले यानी MySQL में दूसरा अंतिम रिकॉर्ड प्राप्त करने के लिए, आपको सबक्वेरी का उपयोग करने की आवश्यकता है।

वाक्य रचना इस प्रकार है

SELECT *FROM
(SELECT *FROM yourTableName ORDER BY yourIdColumnName DESC LIMIT 2)
anyAliasName
ORDER BY yourIdColumnName LIMIT 1;

आइए पहले एक टेबल बनाएं। तालिका बनाने की क्वेरी इस प्रकार है

mysql> create table lastRecordBeforeLastOne
   - > (
   - > Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   - > Name varchar(20) DEFAULT 'John',
   - > Age int DEFAULT 18
   - > );
Query OK, 0 rows affected (0.79 sec)

अब आप इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड्स इन्सर्ट कर सकते हैं।

क्वेरी इस प्रकार है

mysql> insert into lastRecordBeforeLastOne values();
Query OK, 1 row affected (0.21 sec)
mysql> insert into lastRecordBeforeLastOne(Name,Age) values('Larry',23);
Query OK, 1 row affected (0.19 sec)
mysql> insert into lastRecordBeforeLastOne(Name,Age) values('Mike',19);
Query OK, 1 row affected (0.20 sec)
mysql> insert into lastRecordBeforeLastOne(Name,Age) values('Sam',24);
Query OK, 1 row affected (0.22 sec)
mysql> insert into lastRecordBeforeLastOne(Name,Age) values('Bob',26);
Query OK, 1 row affected (0.13 sec)
mysql> insert into lastRecordBeforeLastOne(Name,Age) values('David',22);
Query OK, 1 row affected (0.23 sec)
mysql> insert into lastRecordBeforeLastOne(Name,Age) values('James',29);
Query OK, 1 row affected (0.14 sec)
mysql> insert into lastRecordBeforeLastOne(Name,Age) values('Carol',21);
Query OK, 1 row affected (0.23 sec)
mysql> insert into lastRecordBeforeLastOne(Name,Age) values('Maxwell',29);
Query OK, 1 row affected (0.18 sec)
mysql> insert into lastRecordBeforeLastOne(Name,Age) values('Chris',25);
Query OK, 1 row affected (0.14 sec)

चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें।

क्वेरी इस प्रकार है

mysql> select *from lastRecordBeforeLastOne;

निम्न आउटपुट है

+----+---------+------+
| Id | Name    | Age  |
+----+---------+------+
|  1 | John    |   18 |
|  2 | Larry   |   23 |
|  3 | Mike    |   19 |
|  4 | Sam     |   24 |
|  5 | Bob     |   26 |
|  6 | David   |   22 |
|  7 | James   |   29 |
|  8 | Carol   |   21 |
|  9 | Maxwell |   29 |
| 10 | Chris   |   25 |
+----+---------+------+
10 rows in set (0.00 sec)

यहाँ MySQL में दूसरा अंतिम रिकॉर्ड प्राप्त करने के लिए क्वेरी है

mysql> SELECT *FROM
   - > (SELECT *FROM lastRecordBeforeLastOne ORDER BY Id DESC LIMIT 2) tbl1
   - > ORDER BY Id LIMIT 1;

निम्न आउटपुट है

+----+---------+------+
| Id | Name    | Age  |
+----+---------+------+
|  9 | Maxwell |   29 |
+----+---------+------+
1 row in set (0.00 sec)

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

    MySQL डेटाबेस से डेटा प्राप्त करने के लिए, आपको java से executeQuery() विधि का उपयोग करने की आवश्यकता है। सबसे पहले MySQL डेटाबेस में एक टेबल बनाएं। यहां, हम नमूना डेटाबेस में निम्न तालिका बनाएंगे );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.80 सेकंड) अब आप इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिक

  1. कर्मचारी वेतन के रिकॉर्ड के साथ एक MySQL तालिका से शीर्ष 3 वेतन कैसे प्राप्त करें?

    इसके लिए LIMIT और OFFSET का इस्तेमाल करें। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable867(EmployeeSalary int);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.64 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल 867 मानों (889322) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.08 सेकंड

  1. छात्र स्कोर वाली तालिका से दूसरा उच्चतम मूल्य कैसे प्राप्त करें?

    2nd . लाने के लिए उच्चतम मूल्य, LIMIT 1,1 के साथ DESC द्वारा ORDER का उपयोग करें। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable(StudentScore int);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.56 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल मानों में डालें(99);क्वेरी ठीक है, 1 पंक