oracle去重复记录的方式不用distinct而用groupby

简介:

http://chenxy.blog.51cto.com/729966/728112,

 

参考文档二:http://topic.csdn.net/u/20080508/10/4b56808e-ab77-4d6e-8e75-47f281e8e33c.html

 

例如下面的sql语句:

单个字段去掉重复:

select pp.p_product_id,
       pp.product_name,
       pp.product_level_name,
       ud.depart_path_name,
       pp.recommand_level,
       pp.product_type,
       pp.travelline_type,
       pp.departure,
       pp.destination,
       pp.sale_city_codes,
       pp.travel_day_span,
       pp.valid,
       pp.modify_datetime
  from p_product pp ,u_department ud where pp.u_department_id=ud.department_id  
  and pp.u_department_id in(select us.u_department_id from p_product us group by us.u_department_id having count(*)>1)
  order by pp.modify_datetime desc;
 
多个字段去掉重复:
 
select pp.p_product_id,
       pp.product_name,
       pp.product_level_name,
       ud.depart_path_name,
       pp.recommand_level,
       pp.product_type,
       pp.travelline_type,
       pp.departure,
       pp.destination,
       pp.sale_city_codes,
       pp.travel_day_span,
       pp.valid,
       pp.modify_datetime
  from p_product pp ,u_department ud where pp.u_department_id=ud.department_id  
  and (pp.u_department_id,ud.depart_path_name)in(select us.u_department_id,ud.depart_path_name from p_product us,u_department ud group by us.u_department_id,ud.depart_path_name having count(*)>1)
  order by pp.modify_datetime desc;

 

 

最好不使用disctinct



本文转自hcy's workbench博客园博客,原文链接:http://www.cnblogs.com/alterhu/archive/2012/06/20/2556375.html ,如需转载请自行联系原作者。
目录
相关文章
|
Oracle 关系型数据库 数据库
实战篇:Oracle 数据坏块的 N 种修复方式
实战篇:Oracle 数据坏块的 N 种修复方式
实战篇:Oracle 数据坏块的 N 种修复方式
|
SQL Oracle 关系型数据库
Oracle中如何备份控制文件?备份控制文件的方式有哪几种?
Oracle中如何备份控制文件?备份控制文件的方式有哪几种?
357 0
|
Oracle 关系型数据库 Linux
Docker中使用rpm包的方式安装Oracle 19c
Docker中使用rpm包的方式安装Oracle 19c
539 0
Docker中使用rpm包的方式安装Oracle 19c
|
Oracle 关系型数据库
ORACLE两表关联更新三种方式
不多说了,我们来做实验吧。
ORACLE两表关联更新三种方式
|
SQL Oracle 算法
Oracle MySQL相关工具replace操作实现方式区别
本文列举MySQL、Oracle、常用数据导入工具碰到主键冲突、唯一约束、以及其他对重复数据、已有数据的处理区别,并介绍MySQL、Oracle replace相关语句实现区别。 由此可见在实际使用不同数据库过程中,还是有许多差别,需要大家细心留意。
801 0
|
Oracle 关系型数据库 Shell
Oracle用expdp方式备份脚本;
Oracle用expdp方式备份脚本;
4985 0
|
Oracle 关系型数据库 索引
Oracle优化之表连接方式
Oracle优化之表连接方式在Oracle数据库中,两个表之间的表连接方法有排序合并连接、嵌套循环连接、哈希连接和笛卡尔连接四种 1.排序合并连接(sort merge join)   排序合并连接是一种两表在做表连接时用排序(SORT)操作和合并(MERGE)操作来得到连接结果集的表连接方法  ...
1350 0
|
SQL Oracle 关系型数据库
Oracle中表连接方式(Nested Loop、Hash join)对于表访问次数的测试
介绍了sql多表连接的几种方式,如有不正确的地方请指正。
4315 0