किसी कॉलम में कुल डुप्लिकेट मानों (अलग-अलग मान जो एक से अधिक बार आते हैं) की संख्या गिनने के लिए सबक्वेरी का उपयोग करें।
टेबल डेटा (stock_item):
mysql> Select * from stock_item;
+------------+----------+
| item_name | quantity |
+------------+----------+
| Calculator | 89 |
| Notebooks | 40 |
| Pencil | 40 |
| Pens | 32 |
| Shirts | 29 |
| Shoes | 29 |
| Trousers | 29 |
+------------+----------+
यहां quantity कॉलम में दो डुप्लिकेट मान हैं: 40 (दो बार) और 29 (तीन बार)।
कुल डुप्लिकेट काउंट क्वेरी:
mysql> Select count(*) AS Total_duplicate_count
-> FROM (SELECT item_name FROM stock_item
-> GROUP BY quantity HAVING COUNT(quantity) > 1) AS X;
+-----------------------+
| Total_duplicate_count |
+-----------------------+
| 2 |
+-----------------------+
1 row in set (0.00 sec)
व्याख्या:
- आंतरिक क्वेरी:
quantityद्वारा समूह बनाकरHAVING COUNT > 1से केवल डुप्लिकेट वाले समूह चुनती है - बाहरी क्वेरी: उन समूहों की गिनती करती है (यहां 2 - एक 40 के लिए, एक 29 के लिए)
नोट: यह क्वेरी डुप्लिकेट मानों की संख्या गिनती है, न कि डुप्लिकेट पंक्तियों की कुल संख्या।