• oracle很有用的统计函数rank和cume_dist


    oracle 10g 里面有scott用户

    alter user scott account unlock ;

    使用 scott 密码 tiger 进入,修改密码,改用户有emp 表;

    rank函数 :

    SELECT deptno, job, SUM(sal),
    RANK() OVER(PARTITION BY deptno ORDER BY
    SUM(sal) DESC)
    AS jobdep_rank,RANK() OVER(ORDER BY SUM(sal) DESC) AS sumsal_rank
    FROM emp
    GROUP BY deptno, job ;

    DEPTNO JOB SUM(SAL) JOBDEP_RANK SUMSAL_RANK
    20 ANALYST 6000 1 1
    30 SALESMAN 5600 1 2
    10 PRESIDENT 5000 1 3
    20 MANAGER 2975 2 4
    30 MANAGER 2850 2 5
    10 MANAGER 2450 2 6
    20 CLERK 1900 3 7
    10 CLERK 1300 3 8
    30 CLERK 950 3 9

    cume_dist

    SELECT deptno, job, SUM(sal),
    CUME_DIST() OVER(PARTITION BY deptno ORDER BY
    SUM(sal) DESC)
    AS cume_dist_per_dep
    FROM emp
    GROUP BY deptno, job
    ORDER BY deptno, SUM(sal);

    DEPTNO JOB SUM(SAL) CUME_DIST_PER_DEP
    10 CLERK 1300 1
    10 MANAGER 2450 0.666667
    10 PRESIDENT 5000 0.333333
    20 CLERK 1900 1
    20 MANAGER 2975 0.666667
    20 ANALYST 6000 0.333333
    30 CLERK 950 1
    30 MANAGER 2850 0.666667
    30 SALESMAN 5600 0.333333
     有了这两个有用的函数,排名和百分比很快就能得到了吧。

  • 相关阅读:
    Asp.net如何连接SQL Server2000数据库
    是男人,都可以看看这个
    体验Flash MX(8):控制时钟Timer
    好代码
    sql 大数据量插入优化
    Xcode 真机程序发布测试
    Xcode 真机程序发布测试
    用git备份代码
    sql 大数据量插入优化
    UIView学习笔记
  • 原文地址:https://www.cnblogs.com/caibird2005/p/1370923.html
Copyright © 2020-2023  润新知