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

MySQL में सबसे अधिक ID वाली रो चुनें: ORDER BY DESC LIMIT 1

MySQL टेबल से अधिकतम ID वाली पंक्ति कैसे प्राप्त करें

किसी टेबल से सबसे अधिक (उच्चतम) ID वाली रो प्राप्त करने का सबसे सरल और कुशल तरीका ORDER BY ... DESC के साथ LIMIT 1 का उपयोग करना है।

सिंटैक्स:

SELECT * FROM yourTableName 
ORDER BY yourColumnName DESC 
LIMIT 1 OFFSET 0;

OFFSET 0 वैकल्पिक है (डिफ़ॉल्ट 0 ही होता है)।

व्यावहारिक उदाहरण

1. टेबल बनाएं:

mysql> CREATE TABLE HighestIdOrderBy (
    -> EmployeeId INT,
    -> EmployeeName VARCHAR(200)
    -> ); 
Query OK, 0 rows affected (0.58 sec)

2. डेटा डालें:

mysql> INSERT INTO HighestIdOrderBy VALUES(200,'David');
mysql> INSERT INTO HighestIdOrderBy VALUES(1000,'Bob');
mysql> INSERT INTO HighestIdOrderBy VALUES(600,'John');
mysql> INSERT INTO HighestIdOrderBy VALUES(300,'Johnson');
mysql> INSERT INTO HighestIdOrderBy VALUES(100,'Carol');

3. सभी रिकॉर्ड:

+------------+--------------+ 
| EmployeeId | EmployeeName | 
+------------+--------------+ 
| 200        | David        | 
| 1000       | Bob          | 
| 600        | John         | 
| 300        | Johnson      | 
| 100        | Carol        | 
+------------+--------------+ 
5 rows in set (0.00 sec)

4. अधिकतम ID वाली रो प्राप्त करें:

mysql> SELECT * FROM HighestIdOrderBy 
    -> ORDER BY EmployeeId DESC 
    -> LIMIT 1 OFFSET 0;
+------------+--------------+ 
| EmployeeId | EmployeeName | 
+------------+--------------+ 
| 1000       | Bob          | 
+------------+--------------+ 
1 row in set (0.00 sec)

वैकल्पिक तरीके:

तरीका 2: MAX() फंक्शन के साथ सबक्वेरी

SELECT * FROM yourTableName 
WHERE yourColumnName = (SELECT MAX(yourColumnName) FROM yourTableName);

तरीका 3: केवल अधिकतम मान चाहिए तो

SELECT MAX(yourColumnName) FROM yourTableName;

कौन सा तरीका बेहतर?

तरीकाफायदेनुकसान
ORDER BY DESC LIMIT 1सरल, पूरी रो देता है, इंडेक्स उपयोग कर सकता हैबहुत बड़ी टेबल पर धीमा हो सकता है
MAX() सबक्वेरीइंडेक्स के साथ बहुत तेजदो क्वेरी चलती हैं
सिर्फ MAX()सबसे तेजकेवल मान देता है, पूरी रो नहीं

सुझाव: अगर पूरी रो चाहिए और ID पर इंडेक्स है, तो ORDER BY id DESC LIMIT 1 सबसे अच्छा है।

  1. - MySQL में शर्त के साथ ORDER BY और SELECT कैसे करें?

    कंडीशनल ORDER BY: जीरो वैल्यू अंत में किसी कॉलम को सॉर्ट करते समय खास मान (जैसे 0) को अंत में रखने और बाकी को नॉर्मल ऑर्डर में रखने के लिए बूलियन एक्सप्रेशन का उपयोग करें। सिंटैक्स SELECT * FROM yourTableName ORDER BY yourColumnName = 0, yourColumnName; टेबल बनाना और डेटा इन्सर्ट करना CREATE TABL

  1. - MySQL में INSERT ... SELECT क्वेरी का उपयोग कैसे करें?

    MySQL में INSERT ... SELECT स्टेटमेंट एक ही क्वेरी में एक तालिका से दूसरी तालिका में डेटा कॉपी करने या मानों की गणना करके डालने की अनुमति देता है। सिंटैक्स INSERT INTO target_table (col1, col2, col3, ...) SELECT col1, col2, col3, ... FROM source_table WHERE condition; उदाहरण: मानों को सीधे चुनकर ड

  1. - MySQL में SELECT क्वेरी परिणाम को क्रमबद्ध करना (ORDER BY)

    टेबल से डेटा चुनते समय पंक्तियाँ टेबल में मौजूद क्रम में आती हैं। विशिष्ट क्रम में प्राप्त करने के लिए ORDER BY उपयोग करें। सिंटैक्स आरोही क्रम (डिफ़ॉल्ट): SELECT * FROM table_name ORDER BY column_name अवरोही क्रम: SELECT * FROM table_name ORDER BY column_name DESC Python में MySQL से क्रमबद्ध डेट