oracle中使用rownum筛选最大(最小)值遇到并列出现的问题
2018-12-21 10:54
92 查看
oracle中使用rownum筛选最大(最小)值遇到并列出现的问题
学习oracle的时候遇到一个问题:已有表tb_emp,tb_sales(创建代码在最后),找出完成销售业务笔数最少的职员的姓名和他完成的业务数。
首先按姓名统计每个职员一共完成了多少笔销售业务
select e.name,count(s.eid) from tb_sales s,tb_emp e where e.id=s.eid(+)--使用左外连接统计0笔销售业务的职员 group by e.name;
对于这个问题,我最初想到的是排序后取rownum;
select * from( select e.name,count(s.eid) from tb_sales s,tb_emp e where e.id=s.eid(+)--使用左外连接统计0笔销售业务的职员 group by e.name order by count(s.eid) )where rownum=1;
结果多个职员销售笔数并列最低但结果只显示其中的1个。
解决方法:筛选所有销售笔数等于最小销售笔数的职员
select e.name,count(s.eid) from tb_emp e ,tb_sales s where e.id = s.eid(+) group by e.name having count(s.eid) = ( select min(count(s.eid)) from tb_emp e ,tb_sales s where e.id = s.eid(+) group by e.name );
问题得以解决。
相关文章推荐
- Java使用Oracle遇到的最大游标超出问题及其解决方法
- Java使用Oracle遇到的最大游标超出问题及其解决方法
- Java使用Oracle遇到的最大游标超出问题及其解决方法
- Java使用Oracle遇到的最大游标超出问题及其解决方法
- Oracle使用总结(一):调整Oracle支持的最大进程数问题
- .Net下使用System.Data.OracleClient出现“ORA-12154问题“TNS: 无法处理服务名”问题的解决
- Oracle数据使用中出现的几种问题及解决方法
- VC++中使用ADO访问Oracle遇到的问题及解决方法(待续)
- oracle 11g使用deferred_segment_creation 延迟段创建特性时遇到的问题总结
- (记录学习android遇到的问题)使用被weight分配空间后的控件高度值画新控件出现的问题
- [转]Oracle中ROWNUM使用问题
- Oracle 使用Exists 遇到的问题
- Oracle中的rownum不能使用大于>的问题
- oracle rownum使用注意问题
- oracle使用Union的时候遇到列格式clob和varchar2不符,不能转的问题
- win7下非管理员用户使用sqlplus 10.2.0.1版本遇到的问题--SP2-1503: Unable to initialize Oracle call interface
- 问题记事:使用oracle 出现invalid uesr.table.column,table.column
- 使用eclipse连接oracle遇到的问题
- iOS开发遇到的坑之六--使用cocopods管理第三方库时,编译出现Library not found for -lPods问题的解决办法
- oracle使用中遇到的问题备忘