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

एक MySQL तालिका में डुप्लिकेट प्रविष्टियाँ निकालें

आप उस क्वेरी को किसी अन्य तालिका में चुनकर, फिर मूल को बदलने के लिए उसका नाम बदलकर इसे आसानी से कर सकते हैं।

CREATE TABLE `table2` (
  `name` varchar(255), 
  `email` varchar(255), 
  UNIQUE KEY `email` (`email`));
INSERT INTO `table2` SELECT `name`, DISTINCT(`email`) FROM `table`;
RENAME TABLE `table` TO `table1`;
RENAME TABLE `table2` TO `table`;

ध्यान दें कि यह CREATE आपके वास्तविक तालिका प्रारूप में समायोजित किया जाना चाहिए। मैंने ईमेल फ़ील्ड पर अद्वितीय कुंजी को एक सुझाव के रूप में जोड़ा है कि आप पहली बार में डुप्लिकेट को कैसे रोकेंगे।

वैकल्पिक रूप से, आप इस पर लूप कर सकते हैं

DELETE FROM `table` 
WHERE `email` IN (
  SELECT `email` FROM `table` GROUP BY `email` HAVING count(*) > 1
) LIMIT 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. एक बहु पंक्ति डालने के भीतर LAST_INSERT_ID() का उपयोग करना

  2. MySQL एक उपयोगकर्ता की प्रतिलिपि बनाएँ

  3. चेक नहीं होने पर डिफ़ॉल्ट चेकबॉक्स मान सेट करने का प्रयास कर रहा है

  4. PHP के साथ Google मानचित्र में MySQL चर सम्मिलित करना

  5. कैसे mysql डेटा के साथ पीडीएफ फाइल बनाने के लिए?