显示重复记录

Aut*_*cus 4 mysql sql database

我有这个问题

SELECT  id, timeOrdered, order_desc, firstname, lastname
FROM `db`.`myTable` 
WHERE `myTable`.`customer_number` IN (100, 101, 102, 103, 104, 105)
Run Code Online (Sandbox Code Playgroud)

我试图找到哪些是重复记录.如果timeOrdered,order_desc,firstname,lastname与其dupe相同.

那个
感谢的查询是什么?

OMG*_*ies 11

要查看哪些值有重复:

  SELECT t.order_desc, 
         t.firstname,
         t.lastname
    FROM db.mytable t
   WHERE t.customer_number IN (100, 101, 102, 103, 104, 105)
GROUP BY t.order_desc, t.firstname, t.lastname, t.timeordered
  HAVING COUNT(*) > 1
Run Code Online (Sandbox Code Playgroud)

要查看与这些重复项相关的整个记录​​:

SELECT x.*
  FROM db.mytable x
  WHERE EXISTS(SELECT NULL
                 FROM db.mytable t
                WHERE t.customer_number IN (100, 101, 102, 103, 104, 105)
                  AND t.order_desc = x.order_desc
                  AND t.firstname = x.firstname
                  AND t.lastname = x.lastname
                  AND t.timeordered = x.timeordered
             GROUP BY t.order_desc, t.firstname, t.lastname, t.timeordered
               HAVING COUNT(*) > 1) 
 WHERE x.customer_number IN (100, 101, 102, 103, 104, 105)
Run Code Online (Sandbox Code Playgroud)