oracle sql 不用distinst,查询时如何去掉重复数据 本帖最后由 Mr_Edwin 于 2013-03-13 15:39:33 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 还是用distinct吧。否则你得用group by去重,代价一样不小 效率太低 速度很慢 用group by同样慢,有其它方法优化吗 这已经没什么可优化的了,很简单的SQL group by 索引字段,这条SQL太简单了,没有性能提升的余地 --你Name来自Table2或Table3的话,可以如下优化Select a.NO, (select B.Name from Table2 B where a.No = b.No) as Name where From Table1 A--你不必要多查询一个表 --你Name来自Table2或Table3的话,可以如下优化Select a.NO, (select B.Name from Table2 B where a.No = b.No rownum <=1) as Name From Table1 A--你不必要多查询一个表 --你Name来自Table2或Table3的话,可以如下优化Select a.NO, (select B.Name from Table2 B where a.No = b.No and rownum <=1) as Name From Table1 A--你不必要多查询一个表 一 table1是关联的表,放在from 字句的后面,二 我认为你的语句不能执行成功,‘No’是选取哪个表中的字段呀? 有个oracle查询的问题 oracle audit,如何审计ORACLE日志 Oracle存储过程执行一段时间后停止,在线请教!! 求一sql语句 oracle报错之后回滚的数据到哪儿了? PL/SQL Developer 中的Test怎么使用?,请高手指教一下,谢谢! 求助:位与运算怎么表示?? 选出值为null的记录,插入值为""的记录 树层求和问题【急】 wm_concat函数使用问题 oracle 用sql*loader方式到数据,多个控制文件可以合并吗 ? oracle 使用copy from ***replce** 放入数据
否则你得用group by去重,代价一样不小
Select a.NO, (select B.Name from Table2 B where a.No = b.No) as Name where From Table1 A
--你不必要多查询一个表
Select a.NO, (select B.Name from Table2 B where a.No = b.No rownum <=1) as Name From Table1 A
--你不必要多查询一个表
Select a.NO, (select B.Name from Table2 B where a.No = b.No and rownum <=1) as Name From Table1 A
--你不必要多查询一个表
二 我认为你的语句不能执行成功,‘No’是选取哪个表中的字段呀?