使用where子句查找重复项

时间:2017-04-03 14:30:16

标签: mysql

mysql表结构 meta_id,post_id,meta_key,meta_value (WordPress posmeta表)

我想在meta_value表中找到所有重复的行 - 但仅限于meta_key = _customer_user

的位置

我知道如何轻松地找到重复项 - 但我无法找到一种方法来过滤它们只是meta_key = _customer_user

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

    select group_concat(meta_id) from TableName where meta_key ='_customer_user'
        having meta_id <> min(meta_id)
group by meta_value

它将为您提供所有重复的元ID。它不包括第一个插入ID。

答案 1 :(得分:0)

如果我理解你的问题,你可以试试;

    SELECT  meta_key, meta_value 
    FROM 
    ( SELECT meta_key, meta_value, COUNT(*) AS RC
      FROM YOUR_TABLE
      WHERE meta_key='_customer_user'
      GROUP BY meta_key, meta_value ) A 
    WHERE RC>0

或者是一种较短的形式:

  SELECT meta_key, meta_value 
  FROM YOUR_TABLE
  WHERE meta_key='_customer_user'
  GROUP BY  meta_key, meta_value 
  HAVING COUNT(*) >0