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

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)

इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें:

mysql> insert into DemoTable1804 values(1,56,89,34); Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1804 values(1,98,null,94); Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1804 values(2,34,45,78); Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1804 values(2,null,67,null); Query OK, 1 row affected (0.00 sec)

सेलेक्ट स्टेटमेंट का उपयोग करके टेबल से सभी रिकॉर्ड प्रदर्शित करें:

mysql> select * from DemoTable1804;

इससे निम्न आउटपुट प्राप्त होगा:

+------+--------+--------+--------+
| Id   | Marks1 | Marks2 | Marks3 |
+------+--------+--------+--------+
|    1 |     56 |     89 |     34 |
|    1 |     98 |  NULL  |     94 |
|    2 |     34 |     45 |     78 |
|    2 |  NULL  |     67 |  NULL  |
+------+--------+--------+--------+
4 rows in set (0.00 sec)

पंक्तियों के संयोजन और अधिकतम मान खोजने का क्वेरी यहाँ है:

mysql> select Id,max(Marks1),max(Marks2),max(Marks3)
    from DemoTable1804
    group by Id;

इससे निम्न आउटपुट प्राप्त होगा:

+------+-------------+-------------+-------------+
| Id   | max(Marks1) | max(Marks2) | max(Marks3) |
+------+-------------+-------------+-------------+
|    1 |          98 |          89 |          94 |
|    2 |          34 |          67 |          78 |
+------+-------------+-------------+-------------+
2 rows in set (0.00 sec)

  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); ट

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

    परिचय MySQL में किसी कॉलम का अधिकतम मान प्राप्त करने के लिए MAX() एग्रीगेट फंक्शन या ORDER BY ... DESC LIMIT 1 का उपयोग किया जा सकता है। टेबल निर्माण और डेटा सम्मिलन insert into DemoTable values(58); Query OK, 1 row affected (0.25 sec) सभी रिकॉर्ड प्रदर्शित करना select * from DemoTable; +-------