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

MySQL टेबल में अंतिम एंट्री (Last Entry) कैसे प्राप्त करें?


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() दृष्टिकोण तब उपयोगी है जब आपको अन्य क्वेरी में भी मैक्स मान चाहिए।

  1. - MySQL में Id और FileID कॉलम वाली टेबल में प्रत्येक FileID की प्रविष्टि गिनें

    MySQL COUNT() और GROUP BY: प्रत्येक FileID की घटनाओं की गिनती किसी कॉलम (जैसे FileID) के प्रत्येक विशिष्ट मान की घटनाओं की गिनती करने के लिए COUNT() के साथ GROUP BY का उपयोग करें। उदाहरण: FileID वार गिनती टेबल बनाएं (AUTO_INCREMENT 100 से): CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMEN

  1. - MySQL में INFORMATION_SCHEMA.TABLES से सबसे हाल ही में बनी टेबल का नाम प्राप्त करें

    MySQL में सबसे हाल ही में बनाई गई टेबल (सबसे हाल की CREATE_TIME) का नाम प्राप्त करने के लिए INFORMATION_SCHEMA.TABLES सिस्टम व्यू को क्वेरी करें। यह ऑडिटिंग, माइग्रेशन सत्यापन, और डायनामिक SQL के लिए उपयोगी है। सिंटैक्स SELECT TABLE_NAME, CREATE_TIME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEM

  1. - MySQL में किसी दिनांक का अंतिम सेकंड (23:59:59) कैसे प्राप्त करें?

    MySQL में DATE() और INTERVAL अंकगणित का उपयोग करके किसी दिनांक का अंतिम सेकंड (दिन का अंत: 23:59:59) प्राप्त किया जा सकता है। तर्क DATE(datetime) - समय भाग हटाकर केवल दिनांक (00:00:00) + INTERVAL 1 DAY - अगले दिन की शुरुआत - INTERVAL 1 SECOND - 1 सेकंड घटाकर दिन का अंत उदाहरण तालिका बनाएं: mysql