oracle查询出了一错,提示说返回的数据多于一行,猜想哪个子查询中有重复值,把子查询单独拎出来导出一堆数据,想想如何从里面找出重复项。在oracle里可以用having count(*)>1的方法,如select * from 表1 where 存在重复的列名 in (select 存在重复的列名 from 表1 group by 存在重复的列名 having count(*)>1),其实就后面括号里的部分就够了,having是聚合后的过滤,在where过滤形成结果后再进行过滤,相当于select 存在重复的列名 from (select 存在重复的列名,count(*) from 表1 group by 存在重复的列名) where count(*)>1,配合group by与count,有了group by,count就是计算分组的个数。
如果不用oracle,也可以导出成excel再找重复值,当然这只是一说而已,会了上面谁还用导什么excel。如果在excel里,特别是在office2007以上版本就太**简单了,先选存在重复的列,然后开始-条件格式-突出显示单元格规则-重复值,好了。
excel2003也可以,也是用条件格式,但还要用到countif公式,麻烦多了,建议升级吧。
>> 除非说明均为原创,如转载请注明来源于http://www.stormcn.cn/post/1682.html