我有一张100 000记录的表,我想只选择无重复记录。
换句话说,如果行重复,则根本不显示
ID Name Reslut
1 Adam 10
2 Mark 10
3 Mark 10
结果
ID Name Reslut
1 Adam 10
任何想法?
答案 0 :(得分:0)
您可以在表上加入查询,查询按名称分组只返回唯一名称:
SELECT *
FROM mytable t
JOIN (SELECT name
FROM mytable
GROUP BY name
HAVING COUNT(*) = 1) s ON t.name = s.name
答案 1 :(得分:0)
使用相同的集合:
ID Name Result
1 Adam 10
2 Mark 10
3 Mark 10
4 Mark 20
我猜测最终的解决方案是:
ID Name Result
1 Adam 10
4 Mark 20
使用之前建议的上述查询我对其进行了修改以考虑结果:
SELECT t1.*
FROM myTable t1
JOIN
(
SELECT name, result
FROM myTable
GROUP BY name, result
HAVING COUNT(*) = 1
) t2
WHERE
t1.name=t2.name and
t1.result = t2.result;