我正在使用一些 SQL,并试图弄清楚如何选择最多 1 个重复的行。
假设我有一张如下所示的表格:
CODE:
1234567
1234567
1234567
4567890
4567890
2414351
然后我只想显示最多有 1 个重复项的那些行,因此结果应该显示:
CODE:
4567890
4567890
2414351
尝试过使用 max 和 count 函数,但似乎无法产生正确的结果。
最佳答案
您希望代码只出现一次,或者最多有一个重复项:
SELECT t1.CODE
FROM yourTable t1
INNER JOIN
(
SELECT CODE
FROM yourTable
GROUP BY CODE
HAVING COUNT(*) <= 2
) t2
ON t1.CODE = t2.CODE
输出:
此处演示:
Rextester
关于mysql - SQL 仅选择最多有 1 个重复项的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44647435/