DENSE_RANK

توضیحات

این تابع رتبه یک سطر را در میان گروه‌های سطرهای دیگر محاسبه می‌کند.

دستور

تابع  DENSE_RANK به صورت زیر نوشته می‌شود:

۱ DENSE_RANK( expression۱, ... expression_n ) WITHIN GROUP ( ORDER BY expression۱, ... expression_n )

.


مثال

مثالی از خروجی تابع DENSE_RANK را مشاهده می‌کنیم:

۱
۲
۳
۴
۵
۶
۷
۸
۹
۱۰
۱۱
۱۲
۱۳
۱۴
۱۵
۱۶
۱۷
۱۸
۱۹
۲۰
۲۱
۲۲
SELECT empno,
       deptno,
       sal,
       DENSE_RANK() OVER (PARTITION BY deptno ORDER BY sal) "rank"
FROM   emp;
     EMPNO     DEPTNO        SAL       rank
---------- ---------- ---------- ----------
      ۷۹۳۴         ۱۰       ۱۳۰۰          ۱
      ۷۷۸۲         ۱۰       ۲۴۵۰          ۲
      ۷۸۳۹         ۱۰       ۵۰۰۰          ۳
      ۷۳۶۹         ۲۰        ۸۰۰          ۱
      ۷۸۷۶         ۲۰       ۱۱۰۰          ۲
      ۷۵۶۶         ۲۰       ۲۹۷۵          ۳
      ۷۷۸۸         ۲۰       ۳۰۰۰          ۴
      ۷۹۰۲         ۲۰       ۳۰۰۰          ۴
      ۷۹۰۰         ۳۰        ۹۵۰          ۱
      ۷۶۵۴         ۳۰       ۱۲۵۰          ۲
      ۷۵۲۱         ۳۰       ۱۲۵۰          ۲
      ۷۸۴۴         ۳۰       ۱۵۰۰          ۳
      ۷۴۹۹         ۳۰       ۱۶۰۰          ۴
      ۷۶۹۸         ۳۰       ۲۸۵۰          ۵
Categories: Data
X