代码之家  ›  专栏  ›  技术社区  ›  Ish

MySQL查询以查找具有超过(n)个条目的重复项

  •  2
  • Ish  · 技术社区  · 14 年前

    在示例中,创建这个sql查询以查找具有超过(n)个条目[n=1]的记录时遇到问题

    我有桌子

    |--id-|--user_id--|
    |  1  |    1      |
    |  2  |    1      |
    |  3  |    1      |
    |  4  |    2      |
    |  5  |    2      |
    |  6  |    3      |
    

    要检索表中的重复项

    |--id-|--user_id--|
    |  2  |    1      |
    |  3  |    1      |
    |  5  |    2      |
    

    非常感谢您的帮助,不过还是谢谢您的阅读

    更新:

    我正在使用Mysql v5.1

    2 回复  |  直到 14 年前
        1
  •  3
  •   Mauro Morales    14 年前

    这就是我的方法

    SELECT ID, USER_ID
      FROM TABLE
     GROUP USER_ID
    HAVING COUNT(1) > 1
    MINUS
    SELECT MIN(ID) ID, USER_ID
      FROM TABLE
     GROUP BY USER_ID
    
        2
  •  2
  •   superphonic    10 年前

    编辑:哦,没看到你在使用MySQL。您可能可以调整此查询以使其在MySQL中工作

    不确定您使用的是哪种版本的SQL,但sqlserver给出了答案:

    SELECT * from [table_name] GROUP BY user_id HAVING COUNT(*) > n