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

MySQL JOINS से टेबल में डुप्लिकेट मान कैसे ढूंढें

सेल्फ-जॉइन (Self-Join) का उपयोग करके एक टेबल में डुप्लिकेट मान वाली पंक्तियाँ पहचानी जा सकती हैं।

उदाहरण: 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 (Notebooks, Pencil) और 29 (Shirts, Shoes, Trousers)।

डुप्लिकेट खोजने की क्वेरी

mysql> SELECT DISTINCT g.item_name, g.quantity
FROM stock_item g
INNER JOIN stock_item b ON g.quantity = b.quantity
WHERE g.item_name <> b.item_name;

परिणाम

+-----------+----------+
| item_name | quantity |
+-----------+----------+
| Pencil    | 40       |
| Notebooks | 40       |
| Shoes     | 29       |
| Trousers  | 29       |
| Shirts    | 29       |
+-----------+----------+

व्याख्या

  • टेबल को स्वयं से quantity पर जोड़ा जाता है (g और b एलियास)।
  • WHERE g.item_name <> b.item_name सुनिश्चित करता है कि वही पंक्ति स्वयं से न जुड़े।
  • DISTINCT दोहराव हटाता है (प्रत्येक जोड़ा दो बार मिलता है: A-B और B-A)।

बेहतर विकल्प: GROUP BY + HAVING

SELECT quantity, COUNT(*) as cnt, GROUP_CONCAT(item_name) as items
FROM stock_item
GROUP BY quantity
HAVING COUNT(*) > 1;

यह अधिक कुशल है और डुप्लिकेट मान, उनकी संख्या और संबंधित आइटम नाम एक साथ दिखाता है।

  1. - PHP स्क्रिप्ट का उपयोग करके MySQL तालिका में संग्रहीत NULL मानों को कैसे संभालें?

    हम PHP स्क्रिप्ट में if...else शर्त का उपयोग करके NULL मान के आधार पर क्वेरी तैयार कर सकते हैं। इसे समझाने के लिए हम निम्न उदाहरण ले रहे हैं: उदाहरण इस उदाहरण में, हम tcount_tbl नामक तालिका का उपयोग कर रहे हैं जिसमें निम्न डेटा है: SELECT * from tcount_tbl; +-----------------+----------------+ | tu

  1. - MySQL टेबल में कॉलम की संख्या कैसे पता करें?

    MySQL टेबल में कॉलम की संख्या पता करने के लिए information_schema.columns के साथ count(*) फंक्शन और WHERE क्लॉज का उपयोग करें। आइए एक उदाहरण देखते हैं। टेबल बनाना। mysql> create table NumberOfColumns -> ( -> id int, -> FirstName varchar(100), -> LastName varchar(100), -> Age

  1. - MySQL में LEFT JOIN का उपयोग करके टेबल से डुप्लिकेट मान कैसे हटाएं

    आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, FirstName varchar(100) ); Query OK, 0 rows affected (0.46 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable(FirstName) values(Chris); Q