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

तालिका से डुप्लिकेट पंक्तियां हटाएं

आप इसे कई बार चलाने का प्रयास कर सकते हैं :

delete from mytable where id in (
    select max(id)
      from mytable
     group by name
    having count(1) > 1
);

जहां कई बार name . में आपके द्वारा दोहराई गई अधिकतम संख्या के बराबर है कॉलम।

अन्यथा, आप इस अधिक जटिल प्रश्न को आजमा सकते हैं:

delete from mytable where id in (
    select id from mytable
    except 
    (
    select min(id)
      from mytable
     group by name
    having count(1) > 1
    union all
    select min(id)
      from mytable
     group by name
    having count(1) = 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. Postgresql 9.3 . में JSON Arrays पर कैसे-कैसे लूप करें

  2. plpgsql के साथ फ़ंक्शन के अंदर वर्तमान फ़ंक्शन का नाम प्राप्त करना

  3. बाएँ बाहरी कई मानों के साथ सरणी स्तंभ पर शामिल हों

  4. NpgSql कनेक्शन स्ट्रिंग में ApplicationName कैसे निर्दिष्ट करें?

  5. अन्य दृश्यों में प्रयुक्त कॉलम का प्रकार बदलना