Be alaways javaing...

          Loving Java
          posts - 43, comments - 5, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
          1.   select * from emp;

              EMPNO ENAME  JOB        MGR HIREDATE     SAL COMM  DEPTNO
              ----- ------ --------- ---- ----------- ---- ---- -------
               7369 SMITH  CLERK     7902 17-DEC-1980  800           20
               7499 ALLEN  SALESMAN  7698 20-FEB-1981 1600  300      30
               7521 WARD   SALESMAN  7698 22-FEB-1981 1250  500      30
               7566 JONES  MANAGER   7839 02-APR-1981 2975           20
               7654 MARTIN SALESMAN  7698 28-SEP-1981 1250 1400      30
               7698 BLAKE  MANAGER   7839 01-MAY-1981 2850           30
               7782 CLARK  MANAGER   7839 09-JUN-1981 2450           10
               7788 SCOTT  ANALYST   7566 09-DEC-1982 3000           20
               7839 KING   PRESIDENT      17-NOV-1981 5000           10
               7844 TURNER SALESMAN  7698 08-SEP-1981 1500    0      30
               7876 ADAMS  CLERK     7788 12-JAN-1983 1100           20
               7900 JAMES  CLERK     7698 03-DEC-1981  950           30
               7902 FORD   ANALYST   7566 03-DEC-1981 3000           20
               7934 MILLER CLERK     7782 23-JAN-1982 1300           10

          2.問題:查找DEPTNO 20中出現最多次數的工資?
           select sal
                from emp
               where deptno = 20
               order by sal

                     SAL
              ----------
                     800
                    1100
                    2975
                    3000
                    3000

          3.解決方案
          使用窗口函數 DENSE_RANK,把工資重復出現的次數分等級。
            1     select sal
            2       from (
            3     select sal,
            4            dense_rank()over( order by cnt desc) as rnk
            5       from (
            6     select sal, count(*) as cnt
            8       from emp
            9      where deptno = 20
           10      group by sal
           11            ) x
           12            ) y
           13      where rnk = 1 
          主站蜘蛛池模板: 准格尔旗| 合肥市| 合川市| 商南县| 准格尔旗| 金平| 炎陵县| 隆昌县| 鄂伦春自治旗| 江油市| 通化县| 如皋市| 佳木斯市| 江川县| 博乐市| 滨州市| 雷波县| 屏山县| 崇左市| 漳州市| 连江县| 洪湖市| 舟山市| 顺昌县| 花莲市| 弥勒县| 陆河县| 克什克腾旗| 温宿县| 碌曲县| 通江县| 滦平县| 上思县| 疏附县| 铜陵市| 德庆县| 江华| 连城县| 新津县| 得荣县| 兴义市|