Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

डुप्लिकेट प्रविष्टियों के लिए क्लीनअप अपडेट

ठीक है, तो यहाँ मैं क्या सलाह दूंगा। आप केवल डुप्लीकेट निर्दिष्ट करने के लिए अपना जहां क्लॉज बदलना चाहते हैं। साथ ही, आप वास्तव में केवल सक्रिय रिकॉर्ड देखना चाहते हैं क्योंकि निष्क्रिय रिकॉर्ड के डुप्लीकेट होने से कोई फर्क नहीं पड़ता।

यह देखने के लिए कि क्या कोई डुप्लीकेट है, आप exists . का उपयोग कर सकते हैं . अस्तित्व का उपयोग करने के लिए, पहले हम डुप्लिकेट रिकॉर्ड वापस खींचने के लिए एक सबक्वायरी लिखने जा रहे हैं, उर्फ ​​​​कुछ भी पहले और अंतिम नाम के साथ, एक अलग आईडी, और यह भी सक्रिय है। अगर सबक्वेरी कुछ वापस खींचती है, तो मौजूद है सच हो जाएगा और हम रिकॉर्ड अपडेट करेंगे। यदि कोई डुप्लीकेट नहीं हैं, तो सबक्वायरी कोई रिकॉर्ड नहीं लेगी और मौजूद झूठी वापस आ जाएगी। फिर, हम रिकॉर्ड को अपडेट नहीं करेंगे।

update u
set active = 0
From UserInfo u
where (SELECT count(*)
FROM UserRecords recs
where recs.UserId= u.UserId) = 0
and     u.active = 1
and     exists (Select 1
                From UserInfo u2
                Where u2.lastname = u.lastname
                and     u2.firstname = u.firstname
                and     u2.userid <> u.userid
                and     u2.active = 1)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कोडनिर्देशक का उपयोग करके MySQL में सरणी डालने पर प्रत्येक लूप के लिए कैसे उपयोग करें?

  2. स्प्रिंग बूट MySQL से कनेक्ट नहीं हो सकता है और डॉकर/डॉकर कंपोज़ में बाहर निकलता है

  3. गिनती (*) बनाम num_rows का उपयोग करना

  4. क्या MySQL में तुलना करते समय इसे varchar या varchar से int में बदलना तेज़ है?

  5. स्वचालित रूप से एक अस्थायी पासवर्ड उत्पन्न करने के बाद MySQL तक पहुँचने में असमर्थ