MySQL टेबल में अंतिम एंट्री प्राप्त करने के लिए ORDER BY का उपयोग करें। दो दृष्टिकोण हैं:
दृष्टिकोण 1: DESC LIMIT का उपयोग
SELECT * FROM yourTableName ORDER BY yourColumnName DESC LIMIT 1;
दृष्टिकोण 2: MAX() का उपयोग
SET @anyVariableName = (SELECT MAX(yourColumnName) FROM yourTableName); SELECT * FROM yourTableName WHERE yourColumnName = @anyVariableName;
उदाहरण के साथ समझें
सबसे पहले एक टेबल बनाते हैं:
mysql> CREATE TABLE lastEntryDemo (
-> Id INT NOT NULL AUTO_INCREMENT,
-> Name VARCHAR(30),
-> Age INT,
-> PRIMARY KEY(Id)
-> );
Query OK, 0 rows affected (0.71 sec)
रिकॉर्ड डालें
mysql> INSERT INTO lastEntryDemo(Name, Age) VALUES('Larry', 24);
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO lastEntryDemo(Name, Age) VALUES('John', 21);
Query OK, 1 row affected (0.19 sec)
mysql> INSERT INTO lastEntryDemo(Name, Age) VALUES('David', 22);
Query OK, 1 row affected (0.18 sec)
mysql> INSERT INTO lastEntryDemo(Name, Age) VALUES('Bob', 25);
Query OK, 1 row affected (0.20 sec)
mysql> INSERT INTO lastEntryDemo(Name, Age) VALUES('Carol', 29);
Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO lastEntryDemo(Name, Age) VALUES('Mike', 23);
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO lastEntryDemo(Name, Age) VALUES('Sam', 20);
Query OK, 1 row affected (0.15 sec)
सभी रिकॉर्ड देखें
mysql> SELECT * FROM lastEntryDemo;
आउटपुट
+----+-------+------+ | Id | Name | Age | +----+-------+------+ | 1 | Larry | 24 | | 2 | John | 21 | | 3 | David | 22 | | 4 | Bob | 25 | | 5 | Carol | 29 | | 6 | Mike | 23 | | 7 | Sam | 20 | +----+-------+------+ 7 rows in set (0.00 sec)
केस 1: ORDER BY DESC LIMIT 1 (Name कॉलम पर)
mysql> SELECT * FROM lastEntryDemo ORDER BY Name DESC LIMIT 1;
आउटपुट
+----+------+------+ | Id | Name | Age | +----+------+------+ | 7 | Sam | 20 | +----+------+------+ 1 row in set (0.00 sec)
वर्णानुक्रम में 'Sam' अंतिम है।
केस 2: MAX() का उपयोग (Id कॉलम पर)
mysql> SET @MaxId = (SELECT MAX(Id) FROM lastEntryDemo); Query OK, 0 rows affected (0.00 sec) mysql> SELECT * FROM lastEntryDemo WHERE Id = @MaxId;
आउटपुट
+----+------+------+ | Id | Name | Age | +----+------+------+ | 7 | Sam | 20 | +----+------+------+ 1 row in set (0.00 sec)
दोनों दृष्टिकोण काम करते हैं। ORDER BY ... DESC LIMIT 1 सरल और अधिक सामान्य है। MAX() दृष्टिकोण तब उपयोगी है जब आपको अन्य क्वेरी में भी मैक्स मान चाहिए।