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

MySQL में 3 अलग कॉलम से अधिकतम मान प्राप्त करें

GREATEST() फ़ंक्शन से पंक्ति-वार अधिकतम

एक ही पंक्ति के एकाधिक कॉलम्स में से सबसे बड़ा मान पाने के लिए GREATEST() फ़ंक्शन का उपयोग करें।

सिंटैक्स

SELECT GREATEST(col1, col2, col3) AS alias FROM yourTableName;

उदाहरण: टेबल और डेटा

mysql> create table MaxOfThreeColumnsDemo (First int, Second int, Third int);
mysql> INSERT INTO MaxOfThreeColumnsDemo VALUES (30,90,60), (100,40,50), (101,290,150);

डेटा

+-------+--------+-------+
| First | Second | Third |
+-------+--------+-------+
| 30    | 90     | 60    |
| 100   | 40     | 50    |
| 101   | 290    | 150   |
+-------+--------+-------+

GREATEST() क्वेरी और परिणाम

mysql> SELECT GREATEST(First, Second, Third) AS MaxValueOfThreeColumns FROM MaxOfThreeColumnsDemo;
+------------------------+
| MaxValueOfThreeColumns |
+------------------------+
| 90                     |
| 100                    |
| 290                    |
+------------------------+

संबंधित फ़ंक्शन

  • LEAST(col1, col2, ...) - न्यूनतम मान
  • COALESCE(col1, col2, ...) - पहला नॉन-NULL

NULL हैंडलिंग

  • यदि कोई तर्क NULL है, तो GREATEST() NULL लौटाता है
  • NULL से बचने के लिए: GREATEST(COALESCE(col1,0), COALESCE(col2,0), ...)

उपयोग के मामले

  • कई स्कोर में से उच्चतम
  • एकाधिक तारीखों में से नवीनतम
  • एकाधिक मूल्यों में से अधिकतम
  1. - MySQL में विशिष्ट पंक्ति प्राप्त करना

    WHERE, ORDER BY और LIMIT से विशिष्ट पंक्ति चुनें टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1972 ( Section char(1), StudentName varchar(20) ); Query OK, 0 rows affected (0.00 sec) mysql> insert into DemoTable1972 values(D,Chris); ... क्वेरी: C से बड़े सेक्शन को क्रमबद्ध करके पहले 2

  1. - MySQL में VARCHAR कॉलम से अधिकतम मान कैसे प्राप्त करें

    समस्या VARCHAR कॉलम पर MAX() सीधे काम नहीं करता क्योंकि स्ट्रिंग तुलना वर्णानुक्रम में होती है। समाधान CAST() का उपयोग करके VARCHAR को UNSIGNED INTEGER में बदलें फिर MAX() लागू करें। उदाहरण INSERT INTO DemoTable2030 VALUES (8), (1), (10001), (901); क्वेरी SELECT MAX(CAST(Value AS UNSIGNED)) FRO

  1. - MySQL में टेबल A की तुलना में टेबल B में नहीं होने पर टेबल C में डेटा डालें

    समाधान टेबल A और B पर LEFT JOIN का उपयोग करें, जहां B में मेल नहीं खाता वहां के रिकॉर्ड टेबल C में डालें। उदाहरण टेबल A (demo20): INSERT INTO demo20 VALUES (100,John), (101,Bob), (102,Mike), (103,Carol); टेबल B (demo21): INSERT INTO demo21 VALUES (100,Sam), (101,Adam), (133,Bob), (145,David); ट