2007-10-23
oracle与db2中聚合函数的使用
聚合函数RANK 和 dense_rank 主要的功能是计算一组数值中的排序值。
SELECT a.*,RANK() OVER(ORDER BY col1) FROM table a;
会在最后一列显示该行的排序值
select * from (select rank() over(partition by 科目 order by 分数 desc) rk,a.* from a) t
where t.rk<=3;
会显示科目分组分数前三的数据
合计功能:计算出数值(4,1)在Order By Col1,Col2排序下的排序值,也就是col1=4,col2=1在排序以后的位置
SELECT RANK(4,1) WITHIN GROUP (ORDER BY col1,col2) FROM table;
dense_rank与rank()用法相当,但是有一个区别:dence_rank在并列关系是,相关等级不会跳过。rank则跳过
也就是说如果结果有两个值结果是1,如果用rank下一个就是3 而dense_rank是2
SELECT a.*,RANK() OVER(ORDER BY col1) FROM table a;
会在最后一列显示该行的排序值
select * from (select rank() over(partition by 科目 order by 分数 desc) rk,a.* from a) t
where t.rk<=3;
会显示科目分组分数前三的数据
合计功能:计算出数值(4,1)在Order By Col1,Col2排序下的排序值,也就是col1=4,col2=1在排序以后的位置
SELECT RANK(4,1) WITHIN GROUP (ORDER BY col1,col2) FROM table;
dense_rank与rank()用法相当,但是有一个区别:dence_rank在并列关系是,相关等级不会跳过。rank则跳过
也就是说如果结果有两个值结果是1,如果用rank下一个就是3 而dense_rank是2
发表评论
- 浏览: 34904 次
- 性别:

- 来自: 济南

- 详细资料
搜索本博客
我的相册
传说中的奶牛
共 14 张
共 14 张
最近加入圈子
链接
最新评论
-
使用javaeye的登陆效果
.. 请问,登陆成功后,怎么跳到原来的页面呢?
-- by east_java -
ibatis自动生成的主键
跟官方文档一样,没新意。
-- by fori -
激情之夜
中国3:0轻松取胜 汉密尔顿和阿隆索包揽冠亚军 可惜的就是巴萨虽然5:1赢得了比 ...
-- by 小嘴看世界 -
使用javaeye的登陆效果
在2000操作系统上怎么不行啊?
-- by javaEye_good -
使用javaeye的登陆效果
用window如何做?兄弟 给个例子阿 zhaozhenhua1213@126. ...
-- by javaEye_good






评论排行榜