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

MySQL में GROUP BY और HAVING से डुप्लिकेट मान छिपाना

MySQL में केवल अद्वितीय (नॉन-डुप्लिकेट) मान प्रदर्शित करने के लिए GROUP BY के साथ HAVING COUNT(*) = 1 का उपयोग किया जाता है। यह DISTINCT से अलग है जो केवल पहली घटना दिखाता है।

उदाहरण के लिए टेबल बनाना

mysql> CREATE TABLE DemoTable (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Subject VARCHAR(100)
);

डेटा डालना (डुप्लिकेट्स सहित)

mysql> INSERT INTO DemoTable(Subject) VALUES('MySQL'), ('MongoDB'), ('Java'), ('MongoDB'), ('C'), ('C++'), ('Java'), ('C');

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

mysql> SELECT * FROM DemoTable;

आउटपुट

+----+---------+
| Id | Subject |
+----+---------+
| 1  | MySQL   |
| 2  | MongoDB |
| 3  | Java    |
| 4  | MongoDB |
| 5  | C       |
| 6  | C++     |
| 7  | Java    |
| 8  | C       |
+----+---------+

केवल अद्वितीय मान चुनना (जो केवल एक बार आते हैं)

mysql> SELECT Subject FROM DemoTable GROUP BY Subject HAVING COUNT(*) = 1;

आउटपुट

+---------+
| Subject |
+---------+
| MySQL   |
| C++     |
+---------+

अंतर: DISTINCT प्रत्येक मान की पहली घटना दिखाता है। GROUP BY ... HAVING COUNT(*)=1 केवल उन मानों को दिखाता है जो पूरी टेबल में ठीक एक बार आते हैं।

  1. - MySQL में एक कॉलम के तीन अलग-अलग मानों का योग करके प्रत्येक का कुल दिखाएं

    MySQL में CASE और SUM के साथ पिवट-स्टाइल एग्रीगेशन जब आपको एक कॉलम के अलग-अलग मानों की गिनती या योग को अलग-अलग कॉलम के रूप में दिखाना हो (पिवट टेबल की तरह), तो CASE के साथ SUM() या COUNT() का उपयोग करें। उदाहरण: उत्पाद रेटिंग की गिनती टेबल बनाएं: CREATE TABLE DemoTable ( ProductName VARCHAR(100

  1. - MySQL में UPDATE और WHERE से खाली मानों को NULL में बदलें

    MySQL में खाली स्ट्रिंग () मानों को NULL में बदलने के लिए UPDATE स्टेटमेंट के साथ WHERE क्लॉज का उपयोग करें। यह डेटा सफाई, आयात के बाद सामान्यीकरण, और NULL बनाम खाली स्ट्रिंग अस्पष्टता दूर करने के लिए महत्वपूर्ण है। सिंटैक्स UPDATE table_name SET column_name = NULL WHERE column_name = ; व्यावहारिक

  1. - MySQL क्वेरी: प्रत्येक समूह के लिए एकाधिक न्यूनतम मान प्राप्त करना

    परिचय जब आपको प्रत्येक समूह (जैसे प्रत्येक छात्र) के लिए न्यूनतम मान वाली पंक्तियां चाहिए, तो सबक्वेरी के साथ MIN() एग्रीगेट फंक्शन का उपयोग किया जा सकता है। उदाहरण: टेबल बनाना और डेटा डालना ); Query OK, 0 rows affected (0.56 sec) INSERT INTO DemoTable VALUES(Chris, 87); Query OK, 1 row affected