Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak usunąć duplikat z pewnym warunkiem

To powinno działać:

DELETE Y
FROM YourTable Y JOIN 
   (
  SELECT
    name, cl_1, cl_2, cl_3, cl_4, cl_5, cl_6 
  FROM YourTable
  GROUP BY name, cl_1, cl_2, cl_3, cl_4, cl_5, cl_6
  HAVING COUNT(1) > 1
     ) T ON Y.name = T.name 
        AND Y.cl_1 = T.cl_1
        AND Y.cl_2 = T.cl_2
        AND Y.cl_3 = T.cl_3
        AND Y.cl_4 = T.cl_4
        AND Y.cl_5 = T.cl_5
        AND Y.cl_6 = T.cl_6

Pokaz SQL Fiddle

BTW – A co z rzędami 3 i 6? Wygląda na to, że są dokładnie takie same?

http://sqlfiddle.com/#!2/26b8b/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. Unikalny generator alfanumeryczny

  2. Koder Python JSON do obsługi daty i godziny?

  3. Używanie parametrów w instrukcji sql, która zawiera format_daty

  4. Paginacja Ajax z Jquery, PHP, Mysql

  5. PDO Uzyskaj wiele identyfikatorów wstawek