时间:2021-07-01 10:21:17 帮助过:25人阅读
本文将详细介绍oracle sql 去重复记录不用distinct如何实现,需要了解的朋友可以参考下
用distinct关键字只能过滤查询字段中所有记录相同的(记录集相同),而如果要指定一个字段却没有效果,另外distinct关键字会排序,效率很低 。
- <br>select count(*) from (select gcmc,gkrq,count(*) from gczbxx_zhao t group by gcmc,gkrq having <br>count(*)>=1 order by GKRQ) <br>select * from gczbxx_zhao where viewid in ( select max(viewid) from gczbxx_zhao group by <br>gcmc ) order by gkrq desc ---还是这个可行 <br>。 <br>有一面试题说:distinct去重复的效率很底下,我在网上看到这遍文章的方法好像说是用 group by having 效率很高了? <br>我在了一个测试,有一商品表,26万条记录,只有商品编号建了索引,对品牌名称字段做 distinct <br> 代码如下:<pre class="brush:php;toolbar:false layui-box layui-code-view layui-code-notepad"><ol class="layui-code-ol"><li><br>select brand,count(*) from tab_commbaseinfo group by brand having count(*) =1 <br> <br>平均时间是:0.453 <br> 代码如下:<pre class="brush:php;toolbar:false layui-box layui-code-view layui-code-notepad"><ol class="layui-code-ol"><li><br>select distinct brand from tab_commbaseinfo <br> <br>平均时间是:0.39 <br>搞不懂是否还有其它方法。 </li></ol></pre></li></ol></pre>