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

MySQL के साथ नवीनतम डुप्लीकेट आईडी खोजें

ठीक है, आप अपने प्रश्न का उत्तर देते हैं। ऐसा लगता है कि आप max(id) चाहते हैं :

SELECT email, COUNT(email) AS occurences, max(id)
FROM wineries
GROUP BY email
HAVING (COUNT(email) > 1);

आप कथन का उपयोग करके अन्य को हटा सकते हैं। join with के साथ मिटाएं एक पेचीदा वाक्य-विन्यास है जहाँ आपको पहले तालिका का नाम सूचीबद्ध करना होता है और फिर from . निर्दिष्ट करना होता है शामिल होने के साथ क्लॉज:

delete wineries
            from wineries join
            (select email, max(id) as maxid
             from wineries
             group by email
             having count(*) > 1
            ) we
            on we.email = wineries.email and
               wineries.id < we.maxid;

या इसे exists के रूप में लिखना खंड:

delete from wineries
    where exists (select 1
                  from (select email, max(id) as maxid
                        from wineries
                        group by email
                       ) we
                  where we.email = wineries.email and wineries.id < we.maxid
                 )


  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 5 . में बहु-स्तंभ प्राथमिक कुंजी

  2. SubSonic 3 और MySQL, क्लीनअप () विधि में कॉलम नाम से अंडरस्कोर को हटाकर linq-query में संपत्ति का उपयोग करते समय अपवाद का कारण बनता है

  3. एक खाली परिणाम की जाँच (PHP, PDO, और MySQL)

  4. अजगर के माध्यम से अजगर शब्दकोश को mysql डीबी में कैसे स्टोर करें?

  5. मैं एकता परियोजना में MySql कनेक्टर को कैसे आयात करूं?