关于层次排序问题的实例分享

楼主
海绵宝宝说你美得让人心碎
本帖最后由 夏娃 于 2015-12-16 13:01 编辑

【说明】Oracle分析函数
【示例】
聚合函数RANK 和 dense_rank 主要的功能是计算一组数值中的排序值。
   
  在9i版本之前,只有分析功能(analytic ),即从一个查询结果中计算每一行的排序值,是基于order_by_clause子句中的value_exprs指定字段的。   
  其语法为:
   
  RANK ( ) OVER ( [query_partition_clause] order_by_clause )
有表Table内容如下   
  COL1 COL2     
      1       1   
      2       1
      3       2     
      3       1     
      4       1   
      4       2     
      5       2     
      5       2     
      6       2
   
  分析功能:列出Col2分组后根据Col1排序,并生成数字列。比较实用于在成绩表中查出各科前几名的信息。   
  SELECT a.*,RANK() OVER(PARTITION BY col2 ORDER BY col1) "Rank" FROM table a;   
  结果如下:      
COL1 COL2 Rank     
    1       1        1   
    2       1        2   
    3       1        3
    4       1        4     
    3       2        1     
    4       2        2     
    5       2        3     
    5       2        3     
    6       2        5
@或许你是对的


分享扩散:
参与人数 +1 F豆 +50 理由
test + 50 很给力!

查看全部评分

沙发
发表于 2014-11-18 19:01:24
本帖最后由 夏娃 于 2015-12-16 13:02 编辑

抢个沙发吧


板凳
发表于 2014-11-26 11:28:46
本帖最后由 夏娃 于 2015-12-16 13:02 编辑

{:5_133:}{:5_133:}


地板
发表于 2014-11-26 11:30:39
本帖最后由 夏娃 于 2015-12-16 13:02 编辑

[/quote]
这个看到好多人在问,所以就发个帖子分享一下!
你不会刚看到吧!妞{:5_128:}


5楼
发表于 2014-11-26 11:39:00
本帖最后由 夏娃 于 2015-12-16 13:02 编辑

这个看到好多人在问,所以就发个帖子分享一下!
你不会刚看到吧!妞[/quote]
叫姐


6楼
发表于 2015-5-2 07:48:00
本帖最后由 夏娃 于 2015-12-16 13:02 编辑

顶一下哦
我进来全方面的了解学习一下以前的知识点
{:8_198:}

7楼
发表于 2015-5-2 09:52:56
本帖最后由 夏娃 于 2015-12-16 13:02 编辑

顶一下哦
我进来全方面的了解学习一下以前的知识点[/quote]
{:8_221:}


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

6回帖数 1关注人数 8741浏览人数
最后回复于:2015-5-2 09:52

返回顶部 返回列表