sql >> Base de Datos >  >> RDS >> Mysql

Declaración SQL para seleccionar registros duplicados que aparecen más de 2 veces

SELECT t.rid
     , t.id
     , t.sku
     , t.name
  FROM test t
  JOIN ( SELECT s.sku 
           FROM test s 
          GROUP BY s.sku
         HAVING COUNT(1) > 1
       ) d
    ON d.sku = t.sku

La vista en línea con alias como d devuelve los valores de sku que aparecen más de una vez en la tabla. Podemos unir los resultados de esa consulta a la tabla para obtener todas las filas que tengan un SKU que coincida.

Son id y sku ¿intercambiable? Eso no me quedó claro. (Si id depende de sku y sku depende de id , luego puede reemplazar las referencias a sku con referencias a id en esa consulta.