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

MySQL में दो कॉलम के मानों में से सबसे बड़ा मान कैसे प्राप्त करें?

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() एग्रीगेट: ग्रुप में सबसे छोटा
  1. - MySQL में दो कॉलम में से उच्चतम मान द्वारा कैसे क्रमबद्ध करें?

    MySQL में GREATEST() से दो कॉलम के उच्चतम मान द्वारा क्रमबद्ध करना दो कॉलम में से बड़े मान के आधार पर पंक्तियाँ क्रमबद्ध करने के लिए GREATEST() फ़ंक्शन का उपयोग करें। टेबल बनाना और डेटा डालना mysql> CREATE TABLE DemoTable834 ( Value1 INT, Value2 INT ); Query OK, 0 rows affected (1.50 sec)

  1. - MySQL: एकल कॉलम से उच्चतम मान और दो कॉलम से महत्तम मान प्राप्त करें

    आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable790 ( Score1 int, Score2 int ); Query OK, 0 rows affected (0.45 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable790 values(98,76); Query OK, 1 row affected (0.12 sec) mysql> insert into De

  1. - MySQL में LIMIT का उपयोग करके शीर्ष दो मान चुनें

    ORDER BY DESC और LIMIT के साथ शीर्ष रिकॉर्ड प्राप्त करना सबसे बड़े मानों वाले रिकॉर्ड प्राप्त करने के लिए ORDER BY DESC के साथ LIMIT का उपयोग करें। उदाहरण सेटअप CREATE TABLE DemoTable ( Amount INT ); Query OK, 0 rows affected (0.73 sec) INSERT INTO DemoTable VALUES(999); Query OK, 1 row affe