डेटाबेस डिज़ाइन सर्वोत्तम प्रथाएँ डेटाबेस में डुप्लिकेट को रोकने के लिए UNIQUE बाधा का उपयोग करने की सलाह देती हैं। हालाँकि, खराब डिज़ाइन किए गए डेटाबेस या अशुद्ध डेटा के साथ काम करते समय, आपको स्वयं डुप्लिकेट खोजने और उन्हें मैन्युअल रूप से हटाने की आवश्यकता हो सकती है।
SQL डेटाबेस में डुप्लीकेट कैसे ढूंढें और उन्हें कैसे हटाएं, यह जानने के लिए आगे पढ़ें।
एक नमूना डेटाबेस बनाएँ
प्रदर्शन उद्देश्यों के लिए, इस SQL क्वेरी को चलाकर नाम और स्कोर कॉलम वाले उपयोगकर्ता नाम की एक तालिका बनाएं।
बूँदमेजअगरमौजूदउपयोगकर्ताओं;
बनाएंमेजउपयोगकर्ताओं (
pk_id int यहाँ प्राथमिक कुंजी,
वचरर नाम (16),
स्कोर आईएनटी,
);
इस क्वेरी को चलाकर कुछ नमूना मान डालें:
डालनामें
उपयोगकर्ता (pk_id, नाम, स्कोर)
मान
(1, 'जेन', 20),
(2, 'जॉन', 13),
(3, 'एलेक्स', 32),
(4, 'जॉन', 46),
(5, 'जेन', 20),
(6, 'मैरी', 34),
(7, 'जेन', 20),
(8, 'जॉन', 13)
ध्यान दें कि इनमें से कुछ पंक्तियों में नाम स्तंभ के लिए डुप्लिकेट मान हैं।
बेझिझक इनकी जांच करें एसक्यूएल आदेश और प्रश्न यदि आपको SQL का उपयोग करके डेटाबेस में हेरफेर करने के बारे में अधिक गहन व्याख्या की आवश्यकता है।
डुप्लिकेट मान खोजने के लिए GROUP BY का उपयोग करना
तुम कर सकते हो मानों को व्यवस्थित करने के लिए GROUP BY कथन का उपयोग करें जो एक ही समूह में कुछ शर्तों को पूरा करते हैं।
मान लीजिए कि नमूना तालिका में नाम अद्वितीय होने चाहिए। समान नाम साझा करने वाली पंक्तियों को समूहित करने के लिए आप GROUP BY का उपयोग कर सकते हैं।
चुननानाम, गिनती करना(नाम)
उपयोगकर्ताओं से
नाम से समूह
काउंट (नाम) > 1 होने पर
COUNT आपको उन पंक्तियों का चयन करने देता है जिनमें समान नाम वाले एक से अधिक उपयोगकर्ता हैं।
जब आप इस क्वेरी को चलाते हैं, तो डेटाबेस डुप्लिकेट के रूप में जॉन और जेन वाली पंक्तियों को वापस कर देगा।
डेटाबेस से डुप्लिकेट हटाना
डुप्लीकेट खोजने के बाद, आप DELETE कथन का उपयोग करके उन्हें हटाना चाह सकते हैं।
इस उदाहरण के लिए, निम्न क्वेरी चलाएँ:
साथ सिटे जैसा (
चुनना *
ROW_NUMBER() ओवर (
द्वारा विभाजन
नाम, अंक
द्वारा आदेश
नाम, अंक
) आर
से
उपयोगकर्ताओं
)
मिटानासे सिटे
जहां आर > 1;
यह क्वेरी डुप्लिकेट खोजने के लिए सीटीई अभिव्यक्ति का उपयोग करती है और फिर एक को छोड़कर सभी को हटा देती है।
आपको डुप्लीकेट डेटा क्यों डिलीट करना चाहिए
डुप्लिकेट डेटा हटाना आवश्यक नहीं है। हालाँकि, यह आपको डुप्लिकेट पंक्तियों द्वारा उपयोग किए जाने वाले स्थान को मुक्त करने देता है।
कम पंक्तियों का मतलब यह भी है कि क्वेरी बहुत तेज़ी से निष्पादित हो सकती हैं जिससे उच्च प्रदर्शन हो सकता है। SQL डेटाबेस से डुप्लिकेट खोजने और निकालने में आपकी सहायता के लिए इस ट्यूटोरियल में प्रश्नों का उपयोग करें।