This question already has answers here:
Find duplicate records in MySQL
                                
                                    (23个答案)
                                
                        
                                6年前关闭。
            
                    
我不知道如何编写一个仅显示那些条目的简单sql语句
那不止一次。

e.x.

NodeID  Number

0       12
1       12
2       12
0       13
1       13
0       14
1       15
2       16
1       17


从表中选择nodeIDnumber,其中数字用不同的nodeID出现多次

结果:

NodeID  Number
0       12
1       12
2       12
0       13
1       13

最佳答案

SELECT  a.*
FROM    TableName a
        INNER JOIN
        (
            SELECT  Number
            FROM    TableName
            GROUP   BY Number
            HAVING  COUNT(*) > 1
        ) b ON a.Number = b.Number



SQLFiddle Demo


另一种方法是使用EXISTS

SELECT  a.*
FROM    TableName a
WHERE   EXISTS
        (
            SELECT  1
            FROM    TableName b
            WHERE   a.Number = b.Number
            GROUP   BY Number
            HAVING  COUNT(*) > 1
        )



SQLFiddle Demo

关于mysql - 选择那些具有多个条目的字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16119651/

10-12 00:14
查看更多