SQL重复行

时间:2014-03-20 17:04:49

标签: sql duplicates

我有当前的表格

  IP     ID
 666     1
 666     1
 667     2

我需要一个显示所有重复项的查询,因此显示

  IP     ID
 666     1
 666     1

我试过了:

SELECT IP, ID, COUNT(*) c FROM Table1 GROUP BY ID HAVING c > 1;

和c经常是2,我无法真正解释输出。

输出

  IP     ID    c
 666     1     2
 666     1     2
 667     2     2

由于

4 个答案:

答案 0 :(得分:0)

    select ip,id
    from
    (
     SELECT IP, ID, COUNT(*) FROM Table1 GROUP BY IP,ID HAVING COUNT(*) > 1
    )A;

答案 1 :(得分:0)

如果您的数据与示例数据中显示的一样简单,那么这应该适合您。

SELECT IP, ID FROM Table1 GROUP BY IP, ID HAVING COUNT(IP) > 1

答案 2 :(得分:0)

选择ip,id,count(*)作为cnt FROM table_name GROUP BY ip,id 有计数(*)> 1

答案 3 :(得分:0)

输出有什么问题?

您想要显示多次存在的行。对于您的示例,它为您提供IP = 666且ID = 1的行,c当然为2,因为此行存在2次。要从输出中删除此计数,请使用

SELECT IP, ID FROM Table1 GROUP BY ID HAVING COUNT(*) > 1;
相关问题