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

MySQL डुप्लिकेट डेटा रिकॉर्ड को UPDATE / DELETE के माध्यम से समेकित करता है

यह केवल एक प्रक्षेपण है। यह तालिका को अपडेट नहीं करता है और न ही कुछ डेटा हटाता है।

SELECT  MIN(ID) ID,
        Username,
        MAX(Red) max_Red,
        MAX(Green) max_Green,
        MAX(Yellow) max_Yellow,
        MAX(Blue) max_Blue,
        MAX(Orange) max_Orange,
        MAX(Purple) max_Purple
FROM    Colors
GROUP   BY Username

अपडेट करें

यदि आप वास्तव में उन अभिलेखों को हटाना चाहते हैं, तो आपको अभिलेखों को हटाने से पहले अद्यतन विवरण चलाने की आवश्यकता है

UPDATE  Colors a
        INNER JOIN
        (
            SELECT  MIN(ID) min_ID,
                    Username,
                    MAX(Red) max_Red,
                    MAX(Green) max_Green ,
                    MAX(Yellow) max_Yellow,
                    MAX(Blue) max_Blue,
                    MAX(Orange) max_Orange,
                    MAX(Purple) max_Purple
            FROM    Colors
            GROUP   BY Username
        ) b ON a.ID = b.Min_ID 
SET     a.Red = b.max_Red,
        a.Green = b.max_Green,
        a.Yellow = b.max_Yellow,
        a.Blue = b.max_Blue,
        a.Orange = b.max_Orange,
        a.Purple = b.max_Purple

फिर अब आप रिकॉर्ड हटा सकते हैं,

DELETE  a
FROM    Colors a
        LEFT JOIN
        (
            SELECT  MIN(ID) min_ID,
                    Username
            FROM    Colors
            GROUP   BY Username
        ) b ON a.ID = b.Min_ID 
WHERE   b.Min_ID  IS NULL


  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:क्या अलग-अलग रिकॉर्ड से डेटा का मूल्यांकन करने वाली क्वेरी बनाना संभव है?

  2. PHP एसक्यूएल एसटीएमटी एकाधिक पसंद का चयन करें? क्या यह संभव है?

  3. MySQL चुनें:WHERE (अभी समय है) =टेबलवैल्यू और टेबलवैल्यू के बीच

  4. एक्लिप्सलिंक बैच बहुत धीमी गति से डालें

  5. mysql अपडेट कॉलम फिर अपडेटेड वैल्यू चुनें