mysql - self join for unique rows? -
चुनें * हरि से; + ------ + ------------ + ------- + | आईडी | मेरीडेट | ईमेल | + ------ + ------------ + ------- + | 1 | 2009-10-10 | 1111 | | 1 | 2009-10-10 | 1111 | | 1 | 2009-10-10 | 2222 | | 2 | 2010-11-11 | 3333 | | 2 | 2010-11-11 | 3333 | + ------ + ------------ + ------- + 5 पंक्तियां सेट (0.01 सेकंड)
समूह के बाद Id, mydate और email द्वारा केवल 2 रिकॉर्ड मैथिंग आईडी = 1 होगा, मैं इसे कैसे प्राप्त करूं?
किसी ने मुझे निम्नलिखित प्रश्न दिया है, जहां पहले आईडी की गिनती 2 (सही) है, लेकिन मैं इस प्रश्न को बहुत भ्रमित और लगता है कि कोई बेहतर तरीका होना चाहिए।
mysql & gt; SELECT count (sel2.refid2) के रूप में recCount, refid2, recDate2 से (चयन आईडी के रूप में refid2, mydate AS recDate2 FROM हरि एएस ol_Email1 समूह द्वारा ol_Email1.id, ol_Email1.mydate, ol_Email1.email) एसएल 2 ग्रुप द्वारा एसएल 2.refid2 + ---------- + -------- + ----- ------- + | रिकैकाउंट | रेफिड 2 | आरईसीडी 2 | + ---------- + -------- + ------------ + | 2 | 1 | 2009-10-10 | | 1 | 2 | 2010-11-11 | + ---------- + -------- + ------------ + 2 पंक्तियां सेट (0.28 सेकंड)
बनाएँ तालिका 'हरि' (`id` int (11) डिफ़ॉल्ट शून्य,` mydate` की तारीख डिफ़ॉल्ट शून्य, `ईमेल 'varchar (100) डिफ़ॉल्ट शून्य) इंजन = MyISAM DEFAULT CHARSET = latin1; 'हरि' मानों (1, '200 9-10-10', '1111') में प्रस्तुति, (1, '200 9-10-10', '1111'), (1, '2009-10-10', ' 2222 '), (2,' 2010-11-11 ',' 3333 '), (2,' 2010-11-11 ',' 3333 ');
का चयन करें * हर ओर WHERE आईडी = 1 ग्रुप ईमेल द्वारा
Comments
Post a Comment