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

MySQL में CASE स्टेटमेंट का उपयोग करके एक ही कॉलम से अलग मान अलग कॉलम में प्रदर्शित करें

CASE अभिव्यक्ति का उपयोग करके शर्तों के आधार पर एक ही कॉलम के मानों को अलग-अलग आउटपुट कॉलम में मैप करें।

टेबल बनाना और डेटा डालना

mysql> CREATE TABLE DemoTable (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Name VARCHAR(40),
    Score INT
);
Query OK, 0 rows affected (0.54 sec)
mysql> INSERT INTO DemoTable(Name,Score) VALUES('Chris',45),('David',68),('Robert',89),('Bob',34),('Sam',66);

सभी रिकॉर्ड देखना

mysql> SELECT * FROM DemoTable;

आउटपुट:

+----+--------+-------+
| Id | Name   | Score |
+----+--------+-------+
| 1  | Chris  | 45    |
| 2  | David  | 68    |
| 3  | Robert | 89    |
| 4  | Bob    | 34    |
| 5  | Sam    | 66    |
+----+--------+-------+

शर्तों के आधार पर अलग कॉलम में स्कोर के लिए क्वेरी

mysql> SELECT Score,
    CASE WHEN Score < 40 THEN Score END AS 'Score Less than 40',
    CASE WHEN Score BETWEEN 60 AND 70 THEN Score END AS 'Score Between 60 and 70',
    CASE WHEN Score > 80 THEN Score END AS 'Score greater than 80'
FROM DemoTable;

परिणाम:

+-------+--------------------+--------------------------+-----------------------+
| Score | Score Less than 40 | Score Between 60 and 70  | Score greater than 80 |
+-------+--------------------+--------------------------+-----------------------+
| 45    | NULL               | NULL                     | NULL                  |
| 68    | NULL               | 68                       | NULL                  |
| 89    | NULL               | NULL                     | 89                    |
| 34    | 34                 | NULL                     | NULL                  |
| 66    | NULL               | 66                       | NULL                  |
+-------+--------------------+--------------------------+-----------------------+

नोट: प्रत्येक CASE स्वतंत्र रूप से मूल्यांकन करता है। मिलान न होने वाली पंक्तियों के लिए NULL लौटाता है। ELSE क्लॉज के साथ डिफ़ॉल्ट मान प्रदान करें।

  1. - MySQL में GROUP BY HAVING से डुप्लिकेट कॉलम मान खोजें और प्रदर्शित करें

    किसी कॉलम में डुप्लिकेट मान (एक से अधिक बार आने वाले) खोजने के लिए GROUP BY और 1 का उपयोग करें। टेबल बनाएं mysql> CREATE TABLE DemoTable1858 (ModelNumber VARCHAR(50)); डेटा डालें mysql> INSERT INTO DemoTable1858 VALUES(Audi A4), (Audi A6), (Audi A4), (Audi Q5), (Audi R8), (Audi Q5); डुप्लि

  1. - MySQL में GROUP_CONCAT और CASE से अलग शर्तों वाले समान कॉलम के मान जोड़ें

    एक ही कॉलम (Name) की अलग-अलग शर्तों (Subject) के मानों को जोड़ने के लिए CASE के साथ सशर्त एग्रीगेशन और CONCAT या GROUP_CONCAT का उपयोग करें। टेबल बनाएं mysql> CREATE TABLE DemoTable1869 ( Id INT, Subject VARCHAR(20), Name VARCHAR(20) ); डेटा डालें mysql> INSERT INTO DemoTable1869 VALUES(

  1. - MySQL में SUBSTRING_INDEX का उपयोग करके हाइफ़न से अलग स्ट्रिंग को कई कॉलम्स में विभाजित करें

    MySQL में SUBSTRING_INDEX का उपयोग करके विभाजक द्वारा स्ट्रिंग पार्सिंग MySQL का SUBSTRING_INDEX() फ़ंक्शन एक स्ट्रिंग को विभाजक द्वारा विभाजित करने और विशिष्ट भाग निकालने के लिए अत्यंत उपयोगी है। यह CSV-शैली डेटा या संयुक्त फ़ील्ड्स को पार्स करने के लिए आदर्श है। टेबल बनाना ); Query OK, 0 rows af