很难用文字表达,所以假设这个例子表:
| id | col1 | col2 | -------------------- | 1 | aa | 12 | | 2 | aa | 12 | | 3 | bb | 13 | | 4 | cc | 13 |
我想要一个选择行3和4甚至只是值13的查询
所以像检查这个假设:"col2的所有值都相同,应该映射col1的一个值"
我一直在检查,通过在单独的查询和比较中对每列进行"分组依据"和行计数,但是能够挑出有问题的行会很好
查询或pl/sql过程没问题
得到"13":
select col2 from mytable group by col2 having count(distinct col1) > 1;
获取行:
select * from mytable where col2 in ( select col2 from mytable group by col2 having count(distinct col1) > 1 );