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

MySQL में दो या अधिक फ़ील्ड से सबसे बड़ा मान कैसे प्राप्त करें?


GREATEST() फ़ंक्शन से कई कॉलम/मानों में अधिकतम खोजें

GREATEST() फ़ंक्शन अपने तर्कों में से सबसे बड़ा मान लौटाता है। कॉलम के अधिकतम मानों की तुलना के लिए MAX() के साथ संयोजित करें।

सिंटैक्स

SELECT GREATEST(MAX(कॉलम1), MAX(कॉलम2), ..., MAX(कॉलमN)) FROM टेबल_नाम;

उदाहरण

1. टेबल बनाएं और डेटा डालें

mysql> CREATE TABLE GreatestOfTwoOrMore (
    -> Marks1 INT,
    -> Marks2 INT,
    -> Marks3 INT
    -> );

mysql> INSERT INTO GreatestOfTwoOrMore VALUES (23, 78, 89);
mysql> INSERT INTO GreatestOfTwoOrMore VALUES (50, 100, 150);
mysql> INSERT INTO GreatestOfTwoOrMore VALUES (100, 500, 2000);

2. डेटा देखें

mysql> SELECT * FROM GreatestOfTwoOrMore;
+--------+--------+--------+
| Marks1 | Marks2 | Marks3 |
+--------+--------+--------+
| 23     | 78     | 89     |
| 50     | 100    | 150    |
| 100    | 500    | 2000   |
+--------+--------+--------+

3. समग्र अधिकतम खोजें

mysql> SELECT GREATEST(MAX(Marks1), MAX(Marks2), MAX(Marks3)) FROM GreatestOfTwoOrMore;
+-----------------------------------------------+
| GREATEST(MAX(Marks1), MAX(Marks2), MAX(Marks3)) |
+-----------------------------------------------+
| 2000                                          |
+-----------------------------------------------+

पंक्ति-स्तरीय GREATEST (प्रति पंक्ति अधिकतम)

SELECT Id, GREATEST(Marks1, Marks2, Marks3) AS max_marks FROM GreatestOfTwoOrMore;
+----+-----------+
| Id | max_marks |
+----+-----------+
| 1  | 89        |
| 2  | 150       |
| 3  | 2000      |
+----+-----------+

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

  • LEAST(): सबसे छोटा मान
  • COALESCE(): पहला गैर-NULL मान
  • IFNULL(): NULL को डिफ़ॉल्ट से बदलें

नोट्स

  • GREATEST() NULL तर्क होने पर NULL लौटाता है (COALESCE से बचें)
  • सभी तर्क समान डेटा प्रकार के होने चाहिए या निहित रूपांतरण होता है
  • स्ट्रिंग्स के लिए: बाइनरी कॉलेशन में लेक्सिकोग्राफिक तुलना
  1. - MySQL में अधिकतम से न्यूनतम मान तक क्रमबद्ध करना

    परिचय जब संख्याएं VARCHAR कॉलम में स्टोर होती हैं, तो सामान्य ORDER BY Price DESC लेक्सिकोग्राफिक (स्ट्रिंग) क्रम देता है: 80, 800, 108, 765 → 800, 80, 765, 108 (गलत)। संख्यात्मक क्रम के लिए लंबाई और मान दोनों से क्रमबद्ध करना पड़ता है। उदाहरण: टेबल बनाना और डेटा डालना ); Query OK, 0 rows affected

  1. - MySQL क्वेरी: प्रत्येक कॉलम मान से अंतिम दो शब्द हटाएं

    परिचय MySQL में LEFT() और LENGTH() फंक्शन्स का उपयोग करके स्ट्रिंग के अंतिम N अक्षर हटाए जा सकते हैं। यह उदाहरण अंतिम 2 अक्षर हटाता है (शब्द नहीं, अक्षर)। उदाहरण: टेबल बनाना और डेटा डालना ); Query OK, 0 rows affected (0.71 sec) INSERT INTO DemoTable VALUES(Robert); Query OK, 1 row affected (0.11

  1. - MySQL पंक्तियों का संयोजन करके डुप्लिकेट ID से अधिकतम संबंधित मान प्राप्त करना?

    इसके लिए आप GROUP BY क्लॉज का उपयोग कर सकते हैं। अधिकतम मान खोजने के लिए MAX() फंक्शन का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1804 ( Id int, Marks1 int, Marks2 int, Marks3 int ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल