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

MySQL में GROUP BY HAVING COUNT(*) > 1 का उपयोग करके एक से अधिक बार आने वाले मान खोजना

MySQL में GROUP BY और HAVING COUNT(*) > 1 का उपयोग करके उन मानों को खोजें जो टेबल में एक से अधिक बार आते हैं (डुप्लिकेट)।

उदाहरण: टेबल बनाना और डेटा डालना

mysql> CREATE TABLE DemoTable (
    -> Value INT
    -> );
Query OK, 0 rows affected (0.82 sec)
mysql> INSERT INTO DemoTable VALUES(10), (100), (20), (10), (30), (40), (20);

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

mysql> SELECT * FROM DemoTable;

आउटपुट

+-------+
| Value |
+-------+
| 10    |
| 100   |
| 20    |
| 10    |
| 30    |
| 40    |
| 20    |
+-------+
7 rows in set (0.00 sec)

यहां: 10 दो बार, 20 दो बार, 100/30/40 एक-एक बार।

एक से अधिक बार आने वाले मान खोजना

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

आउटपुट

+-------+
| Value |
+-------+
| 10    |
| 20    |
+-------+
2 rows in set (0.00 sec)

व्याख्या:

  • GROUP BY Value - समान मान वाली पंक्तियों को समूहित करता है
  • COUNT(*) - प्रत्येक समूह में पंक्तियों की गिनती करता है
  • HAVING COUNT(*) > 1 - केवल उन समूहों को रखता है जिनकी गिनती 1 से अधिक है

गिनती भी देखने के लिए:

SELECT Value, COUNT(*) AS Frequency
FROM DemoTable
GROUP BY Value
HAVING COUNT(*) > 1
ORDER BY Frequency DESC;

सभी डुप्लिकेट पंक्तियाँ देखने के लिए (समूह नहीं):

SELECT * FROM DemoTable
WHERE Value IN (
    SELECT Value FROM DemoTable
    GROUP BY Value
    HAVING COUNT(*) > 1
);
  1. - MySQL में LIKE ऑपरेटर के साथ एकाधिक फील्ड्स पर समान मान खोजना

    परिचय MySQL में CONCAT() फंक्शन का उपयोग करके एकाधिक कॉलम्स को जोड़कर, फिर LIKE ऑपरेटर से पैटर्न मिलान करके एक साथ कई फील्ड्स पर खोज की जा सकती है। उदाहरण: टेबल बनाना और डेटा डालना ); Query OK, 0 rows affected (0.58 sec) INSERT INTO DemoTable VALUES(John, MongoDB); Query OK, 1 row affected (0.12

  1. - MySQL में GROUP BY HAVING से डुप्लिकेट मान ढूंढें

    MySQL में 1 का उपयोग करके उन मानों को ढूंढ सकते हैं जो टेबल में एक से अधिक बार आते हैं। सिंटैक्स 1; उदाहरण 1. टेबल बनाएं ); 2. डेटा डालें (कुछ डुप्लिकेट के साथ) INSERT INTO DemoTable VALUES(50); 3. सभी रिकॉर्ड देखें SELECT * FROM DemoTable; +-------+ | Value | +-------+ | 20 | | 10 |

  1. - MySQL में Nth अधिकतम मान खोजने का क्वेरी

    आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> Value int -> ); Query OK, 0 rows affected (0.59 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable values(40); Query OK, 1 row affected (0.26 sec) mysql> insert into DemoTable