APPROX_RANK

目的

APPROX_RANKは、値のグループでの近似値を戻します。

このファンクションは、オプションのPARTITION BY句と、その後に続く必須のORDER BY ... DESC 句を取ります。PARTITION BYキーは、GROUP BYキーのサブセットである必要があります。ORDER BY句には、APPROX_COUNTまたはAPPROX_SUMのいずれかを含める必要があります。

この問合せでは、部門ごとの上位10件の合計給与のジョブが戻されます。ジョブごとに、合計給与およびランクも示されます。

SELECT job_id, 
			APPROX_SUM(sal), 
      APPROX_RANK(PARTITION BY department_id ORDER BY APPROX_SUM(salary) DESC) 
FROM employees
GROUP BY department_id, job_id
HAVING 
   APPROX_RANK(
   PARTITION BY department_id 
   ORDER BY APPROX_SUM (salary) 
   DESC) <= 10;