किसी कॉलम का अधिकतम मान वाली पंक्ति के अन्य कॉलम मान प्राप्त करने के लिए सबक्वेरी के साथ MAX() का उपयोग करें।
सिंटैक्स
SELECT * FROM टेबल_नाम WHERE कॉलम_नाम = (SELECT MAX(कॉलम_नाम) FROM टेबल_नाम);
उदाहरण: अधिकतम उत्पाद राशि वाला उत्पाद ID ढूंढें
1. टेबल बनाएं
mysql> CREATE TABLE DemoTable (
-> ProductId INT,
-> ProductAmount INT
-> );
2. डेटा डालें
mysql> INSERT INTO DemoTable VALUES(1001, 7895); mysql> INSERT INTO DemoTable VALUES(1003, 8903); -- अधिकतम mysql> INSERT INTO DemoTable VALUES(1010, 7690); mysql> INSERT INTO DemoTable VALUES(2010, 8450);
3. क्वेरी
mysql> SELECT * FROM DemoTable
-> WHERE ProductAmount = (SELECT MAX(ProductAmount) FROM DemoTable);
4. परिणाम
+-----------+---------------+ | ProductId | ProductAmount | +-----------+---------------+ | 1003 | 8903 | +-----------+---------------+
विकल्प: ORDER BY LIMIT (अधिक कुशल)
SELECT * FROM DemoTable ORDER BY ProductAmount DESC LIMIT 1;
एकाधिक अधिकतम मान होने पर
-- सभी अधिकतम वाली पंक्तियां SELECT * FROM DemoTable WHERE ProductAmount = (SELECT MAX(ProductAmount) FROM DemoTable);
प्रदर्शन तुलना
- सबक्वेरी: दो पास (MAX गणना + फ़िल्टर)
- ORDER BY LIMIT: एक पास, इंडेक्स उपयोग कर सकता है
- बड़े टेबल के लिए
ORDER BY ... LIMIT 1बेहतर
संबंधित: न्यूतम मान
SELECT * FROM DemoTable WHERE ProductAmount = (SELECT MIN(ProductAmount) FROM DemoTable); -- या SELECT * FROM DemoTable ORDER BY ProductAmount ASC LIMIT 1;