GREATEST() फंक्शन का उपयोग
MySQL में दो या अधिक कॉलम/मानों में से सबसे बड़ा मान प्राप्त करने के लिए GREATEST() फंक्शन का उपयोग करें।
सिंटैक्स
SELECT GREATEST(column1, column2, ..., columnN) AS alias FROM yourTableName;
उदाहरण
1. टेबल बनाना
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Number1 INT,
Number2 INT
);
Query OK, 0 rows affected (0.63 sec)
2. डेटा डालना
mysql> INSERT INTO DemoTable(Number1, Number2) VALUES(1000, 10000); mysql> INSERT INTO DemoTable(Number1, Number2) VALUES(600, 900); mysql> INSERT INTO DemoTable(Number1, Number2) VALUES(12, 9); mysql> INSERT INTO DemoTable(Number1, Number2) VALUES(19, 56);
3. सभी रिकॉर्ड्स देखना
mysql> SELECT * FROM DemoTable;
+----+---------+---------+ | Id | Number1 | Number2 | +----+---------+---------+ | 1 | 1000 | 10000 | | 2 | 600 | 900 | | 3 | 12 | 9 | | 4 | 19 | 56 | +----+---------+---------+ 4 rows in set (0.00 sec)
4. दो कॉलम में से अधिकतम मान प्राप्त करना
mysql> SELECT GREATEST(Number1, Number2) AS MAXIMUM_NUMBER_OF_TWO_COLUMNS FROM DemoTable;
+-------------------------------+ | MAXIMUM_NUMBER_OF_TWO_COLUMNS | +-------------------------------+ | 10000 | | 900 | | 12 | | 56 | +-------------------------------+ 4 rows in set (0.00 sec)
GREATEST() विशेषताएं
- दो या अधिक आर्गुमेंट लेता है
- NULL प्रबंधन: यदि कोई आर्गुमेंट NULL है, तो परिणाम NULL होता है
- प्रकार परिवर्तन: सभी आर्गुमेंट को सामान्य प्रकार में बदलता है
- स्ट्रिंग तुलना: स्ट्रिंग के लिए लेक्सिकोग्राफिक तुलना
NULL हैंडलिंग
SELECT GREATEST(10, NULL, 20); -- NULL लौटाता है -- NULL को 0 मानने के लिए COALESCE उपयोग करें SELECT GREATEST(COALESCE(col1, 0), COALESCE(col2, 0)) FROM DemoTable;
LEAST() - सबसे छोटा मान
SELECT LEAST(Number1, Number2) AS Minimum FROM DemoTable;
+----------+ | Minimum | +----------+ | 1000 | | 600 | | 9 | | 19 | +----------+
व्यावहारिक उपयोग मामले
दो तारीखों में से बाद वाली
SELECT GREATEST(created_at, updated_at) AS last_modified FROM posts;
कई कॉलम में से अधिकतम
SELECT GREATEST(score1, score2, score3, score4, score5) AS highest_score FROM exam_results;
केस स्टेटमेंट के साथ तुलना
-- GREATEST के बराबर SELECT CASE WHEN Number1 > Number2 THEN Number1 ELSE Number2 END AS MaxVal FROM DemoTable;
संबंधित फंक्शन
| फंक्शन | विवरण |
|---|---|
| GREATEST() | सबसे बड़ा मान लौटाता है |
| LEAST() | सबसे छोटा मान लौटाता है |
| MAX() | एग्रीगेट: ग्रुप में सबसे बड़ा |
| MIN() | एग्रीगेट: ग्रुप में सबसे छोटा |