SQL仅选择最多1次重复的行

时间:2017-06-20 08:11:44

标签: mysql

我正在玩一些SQL,并试图找出如何选择最多1次重复的行。

假设我有一个如下表:

CODE:
1234567
1234567
1234567
4567890
4567890
2414351

然后我只想显示最多1个重复的那些行,因此结果应显示:

CODE:
4567890
4567890
2414351

尝试使用max和count函数,但似乎无法产生正确的结果。

2 个答案:

答案 0 :(得分:1)

您希望代码只出现一次,或者最多只有一次重复:

SELECT t1.CODE
FROM yourTable t1
INNER JOIN
(
    SELECT CODE
    FROM yourTable
    GROUP BY CODE
    HAVING COUNT(*) <= 2
) t2
    ON t1.CODE = t2.CODE

<强>输出:

enter image description here

在这里演示:

Rextester

答案 1 :(得分:0)

使用Group byhaving

select code from table Group by code having Count(*)=2