表中有字段
empid (编号),departnm(部门名),overtime(时间)
用
select departnm,empid,sum(overtime)
from tb
group by departnm,empid可以得到各个部门每个人的时间总计如果只要各个部门中时间总计在排名前10名的数的
得怎么写呢?
empid (编号),departnm(部门名),overtime(时间)
用
select departnm,empid,sum(overtime)
from tb
group by departnm,empid可以得到各个部门每个人的时间总计如果只要各个部门中时间总计在排名前10名的数的
得怎么写呢?
解决方案 »
- 请教一下 分区表上的 如何对同一个 列, 按照分区建立不同类型的索引
- Oracle关于时间日期转换问题
- oracle的连接分配方式(急)
- 求oracle10g的错误代码大全-帮助文档
- [向ALL提问]=====求一计算时间差函数=====
- 一个问题,在线等,。。。。急...............
- imp没响应,sqlplus也报错,求救!!!
- 请问如何在oracle中定时执行一个java程序?
- 请给一个按月份统计的oracle存储过程,马上结帖!
- 请大虾指点,数据库学习的重点是什么?
- not exists 子句 select 什么效率最高
- 大表分页中,数据量大的时候状态字段field的排序问题!
select departnm,empid,sum(overtime)
from tb
group by departnm,empid
)
--前10
WHERE ROWNUM<11
order by overtime
select departnm,empid,sum(overtime) overtime
from tb
group by departnm,empid
order by overtime desc
)
WHERE ROWNUM<11
select departnm,empid,sum(overtime) overtime
from tb
group by departnm,empid
order by overtime desc
)
WHERE ROWNUM<11;
select b.departnm b.empid, b.sn
from(
select a.departnm,a.empid,a.sn, rownum rn
from(
select departnm,empid,sum(overtime) sn
from tb
group by departnm,empid
)a order by a.sn desc
)b where b.rn<11
from(
select departnm,empid,dense_rank()over(partition by departnm order by sum(overtime)desc)dk
from tb
group by departnm,empid)
where dk<=10
select empid,departnm,sum(overtime) time from tb
group by empid
order by time) where rownum<=10 and group by departnm