MySQL find duplicate rows in UNION table -
मैं नीचे दिए गए प्रश्नों पर डुप्लिकेट ईमेल कैसे प्राप्त करूं?
SELECT b_email as ई-मेल उपयोगकर्ता से जहां स्थिति = 3 और बी_ईमेल! = '' यूनियन (यूजर वर्ड स्टेटस = 3 और सी_मेल! = '') से ई-मेल के रूप में ईमेल का चयन करें यूआरएल (यूजर डाइमेल के रूप में यूजर एमेल ईमेल = 3 और यूज़र_मेल! = '') यूनियन SELECT user_email के रूप में उप-यूज़र की स्थिति WHERE स्थिति = 3 और user_email! = '') से यूनियन (SELECT su_email के रूप में ई-मेल उप-यूज़र से WHERE स्थिति = 3 और su_email! = '') आदेश द्वारा ईमेल एएससी धन्यवाद।
आपके क्वेरी परिणामों में डुप्लिकेट नहीं होंगे क्योंकि UNION को हटा देता है डुप्लिकेट। डुप्लिकेट को संरक्षित करने के लिए, इसके बजाय UNION ALL का उपयोग करें: का चयन करें b_email as the user from the user WHERE स्थिति = 3 और b_email! = '' यूनियन सर्व का चयन करें c_email as email from FROM उपयोगकर्ता WHERE स्थिति = 3 और c_email! = '' ... यह पता लगाने के लिए कि कौन से ईमेल पते दोहराए गए हैं, आप निम्न कार्य कर सकते हैं:
- बदलें डुप्लिकेट सहित सभी ईमेल पतों की एक सूची वापस करने के लिए आपकी क्वेरी (इसका मतलब है कि
UNION ALL के बजाय UNION का उपयोग करें] - बाहरी पते के साथ इसे ईमेल पते से गिना जाता है
- दो या अधिक की गिनती वाले ईमेल पते के लिए बाह्य क्वेरी परिणाम को सीमित करें
यहाँ कैसे करें यह (ध्यान दें कि यह आपकी पोस्ट की गई क्वेरी काम करता है):
ई-मेल का चयन करें, COUNT (*) से (चयन करें b_email as ई-मेल उपयोगकर्ता से कहां स्थिति = 3 और b_email! = '' UNION ALL SELECT c_email उपयोगकर्ता के रूप में जहां से स्थिति = 3 और c_email = = 'यूनियन सभी का चयन करें user_email के रूप में ईमेल उपयोगकर्ता से उपयोगकर्ता स्थिति = 3 और उपयोगकर्ता _email! = '' यूनियन सर्व का चयन करें user_email के रूप में सब-यूज़र की स्थिति, जहां से स्थिति = 3 और यूज़र_ईमेल! = '' यूनियन सब सेलेक्ट SU_email के रूप में ई-मेल सब-यूज़र की स्थिति = 3 और एसयूएमईईई = = 'ई-मेल से! =' ') EmailGlom ग्रुप द्वारा ईमेल होस्टिंग COUNT (* ) & Gt; 1 आपके परिणाम प्रत्येक ईमेल पते होंगे जो आंतरिक क्वेरी में एक से अधिक बार दिखाए जा सकते हैं।
Comments
Post a Comment