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

MySQL में GROUP BY HAVING का उपयोग करके दो सटीक मानों वाले रिकॉर्ड चुनना

MySQL में GROUP BY HAVING के साथ विशिष्ट मानों वाले रिकॉर्ड फ़िल्टर करना

GROUP BY ... HAVING क्लॉज का उपयोग समूहों को फ़िल्टर करने के लिए किया जाता है। यह उन मानों को खोजने के लिए उपयोगी है जो विशिष्ट संख्या में बार आते हैं।

व्यावहारिक उदाहरण

तालिका बनाना

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

रिकॉर्ड डालना (डुप्लिकेट मानों के साथ)

mysql> INSERT INTO DemoTable(Value) VALUES(600);
mysql> INSERT INTO DemoTable(Value) VALUES(600);
mysql> INSERT INTO DemoTable(Value) VALUES(800);
mysql> INSERT INTO DemoTable(Value) VALUES(800);

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

mysql> SELECT * FROM DemoTable;

आउटपुट:

+----+-------+
| Id | Value |
+----+-------+
| 1  | 600   |
| 2  | 600   |
| 3  | 800   |
| 4  | 800   |
+----+-------+

दो सटीक मानों (Id 1 और 2) वाले रिकॉर्ड के लिए क्वेरी

mysql> SELECT Value FROM DemoTable tbl 
WHERE Id IN(1,2) 
GROUP BY Value 
HAVING COUNT(DISTINCT Id) = 2;

आउटपुट:

+-------+
| Value |
+-------+
| 600   |
+-------+

व्याख्या

  1. WHERE Id IN(1,2) - केवल Id 1 और 2 वाली पंक्तियों पर विचार करें
  2. GROUP BY Value - Value के अनुसार समूह बनाएं
  3. HAVING COUNT(DISTINCT Id) = 2 - केवल वे समूह जिनमें दोनों Id मौजूद हैं

यह तकनीक "सटीक मिलान" खोजने के लिए उपयोगी है जहां एक मान विशिष्ट पहचानकर्ताओं के सेट के साथ जुड़ा होना चाहिए।

  1. - MySQL में UNION का उपयोग करके दो टेबल से एक क्वेरी में चयन करें

    UNION ऑपरेटर का उपयोग करके दो टेबल के परिणाम सेट को संयोजित करें (डुप्लिकेट हटाता है)। क्रमबद्ध करने के लिए ORDER BY जोड़ें। पहली टेबल बनाना और डेटा डालना CREATE TABLE DemoTable1 ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, FirstName VARCHAR(20) ); Query OK, 0 rows affected (0.90 sec) I

  1. - MySQL में INSERT INTO SELECT UNION ALL से एक क्वेरी में दो टेबल में चयन और सम्मिलन

    MySQL में INSERT INTO ... SELECT ... UNION ALL ... SELECT का उपयोग करके एक ही क्वेरी में एक टेबल से डेटा चुनकर दूसरी टेबल में एकाधिक पंक्तियां डाल सकते हैं। उदाहरण 1. लक्ष्य टेबल बनाएं ); 2. स्रोत टेबल बनाएं INSERT INTO DemoTable2 VALUES(Chris); 3. एक क्वेरी में चयन और सम्मिलन SELECT Name, 98

  1. - MySQL में INSERT ... SELECT क्वेरी का उपयोग कैसे करें?

    MySQL में INSERT ... SELECT स्टेटमेंट एक ही क्वेरी में एक तालिका से दूसरी तालिका में डेटा कॉपी करने या मानों की गणना करके डालने की अनुमति देता है। सिंटैक्स INSERT INTO target_table (col1, col2, col3, ...) SELECT col1, col2, col3, ... FROM source_table WHERE condition; उदाहरण: मानों को सीधे चुनकर ड