当我执行“ SELECT * FROM table”时,我得到如下结果:
1 UNID1 data1
2 UNDI2 data2
3 UNID3 data2
4 UNID4 data3
5 UNID5 data3
6 UNID6 data4
如您所见,column2中有dup记录。那么我如何才能得到不重复的数据的结果:
1 UNID1 data1
2 UNID6 data4
我不相信SELECT命令的DISTINCT选项是解决方案,因为它只返回不同的值而不是唯一值
答案 0 :(得分:3)
使用EXISTS
子句的一个选项:
SELECT col1, col2
FROM yourTable t1
WHERE NOT EXISTS (SELECT 1 FROM yourTable t2
WHERE t2.col1 <> t1.col1 AND t2.col2 = t1.col2);
简而言之,该查询说要获取每条记录,其中不不存在另一条记录,该记录具有不同的col1
ID值和相同 {{ 1}}值。
答案 1 :(得分:1)
您可以进行聚合:
select max(col1) as col1, col2
from table t
group by col2
having count(distinct col1) = 1;
答案 2 :(得分:0)
这将起作用:
select * from (select a."col1",a."col2",a."col3",(select count(b."col3") from Table1 b
where b."col3" like a."col3") count1
from Table1 a) where count1<2;