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

MySQL में डुप्लिकेट कॉलम मान मिलने पर दूसरी कॉलम वैल्यू के आधार पर पंक्तियाँ बाहर करना

सबक्वेरी से डुप्लिकेट आईडी वाली पंक्तियाँ बाहर करना

जब किसी कॉलम में डुप्लिकेट मान हो और विशिष्ट मान वाली पंक्ति मिले, तो उस आईडी की सभी पंक्तियाँ बाहर की जा सकती हैं।

तालिका और डेटा

mysql> CREATE TABLE DemoTable1427 (
    -> StudentId INT,
    -> StudentMarks INT
    -> );

mysql> INSERT INTO DemoTable1427 VALUES(201,89), (201,99), (210,98);

क्वेरी: StudentMarks=89 वाली आईडी की सभी पंक्तियाँ बाहर करें

mysql> SELECT * FROM DemoTable1427
    -> WHERE StudentId NOT IN (
    ->     SELECT DISTINCT StudentId FROM DemoTable1427 WHERE StudentMarks = 89
    -> );

परिणाम

+-----------+--------------+
| StudentId | StudentMarks |
+-----------+--------------+
| 210       | 98           |
+-----------+--------------+

व्याख्या: StudentId 201 के साथ Marks 89 है, इसलिए 201 की दोनों पंक्तियाँ (89 और 99) बाहर हो गईं। केवल 210 बचा।

नोट: NOT IN में NULL मान होने पर अनपेक्षित परिणाम दे सकता है। सुरक्षित विकल्प NOT EXISTS है।

  1. - MySQL में GROUP BY HAVING और IN से एकाधिक मान शर्त पूरी करने वाली पंक्तियाँ चुनें

    किसी कॉलम (जैसे Subject) में एकाधिक विशिष्ट मान (MySQL, MongoDB) **दोनों** रखने वाले समूह (FirstName) खोजने के लिए IN फ़िल्टर + GROUP BY + HAVING COUNT(*) = N का उपयोग करें। टेबल बनाएं mysql> CREATE TABLE DemoTable1885 (FirstName VARCHAR(20), Subject VARCHAR(50)); डेटा डालें mysql> INSERT IN

  1. - MySQL में IF() से टाइमस्टैम्प कॉलम आधारित बूलियन मान चुनें

    IF(condition, true_val, false_val) का उपयोग करके टाइमस्टैम्प कॉलम की वर्तमान दिनांक से तुलना करके बूलियन (0/1) मान उत्पन्न करें। वर्तमान दिनांक mysql> SELECT CURDATE(); -- 2019-12-10 टेबल बनाएं mysql> CREATE TABLE DemoTable1890 (DueDate TIMESTAMP); डेटा डालें mysql> INSERT INTO DemoTable

  1. - MySQL में मान 0 होने पर दूसरे कॉलम का मान कैसे चुनें?

    IF() फ़ंक्शन का उपयोग यदि किसी कॉलम का मान 0 है तो दूसरे कॉलम का मान लेने के लिए IF() फ़ंक्शन प्रयोग करें: select IF(yourColumnName1=0, yourColumnName2, yourColumnName1) as anyAliasName from yourTableName; टेबल बनाना और डेटा डालना insert into demo30(value,original_value) values(30,0); डेटा देखना