Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да премахнете дубликат с определено условие

Това трябва да работи:

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

SQL Fiddle Демо

BTW -- Ами редове 3 и 6? Изглежда ли са същите?

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. Множество данни от заявки в една HTML таблица (PHP, MySQL)

  2. Как да създам изглед в MySQL?

  3. Изтрийте всички редове с времеви печат, по-стар от x дни

  4. Многозаявка на PDO SQLSTATE[HY000]:Обща грешка

  5. Как да получите достъп до MySQL от няколко нишки едновременно