|
注意: APPROX_COUNT_DISTINCTファンクションは、Oracle Database 12cリリース1(12.1.0.2)から使用可能です。 |
構文

用途
APPROX_COUNT_DISTINCTは、exprの異なる値を含む適切な数の行を戻します。
このファンクションは、exprの異なる値を含む正確な数の行を戻すCOUNT (DISTINCT expr)ファンクションの代替機能を提供します。APPROX_COUNT_DISTINCTは、正確な結果とわずかに誤差がありますが、COUNTよりはるかに高速に大量のデータを処理します。
exprでは、BFILE、BLOB、CLOB、LONG、LONG RAWまたはNCLOB以外のスカラー・データ型の列を指定できます。
APPROX_COUNT_DISTINCTは、exprのnull値を含む行を無視します。このファンクションは、NUMBERを戻します。
例
次の文は、manager_idの異なる値を使用した適切な数の行を戻します。
SELECT APPROX_COUNT_DISTINCT(manager_id) AS "Active Managers"
FROM employees;
Active Managers
---------------
18
次の文は、各製品の適切な数の異なる顧客を戻します。
SELECT prod_id, APPROX_COUNT_DISTINCT(cust_id) AS "Number of Customers"
FROM sales
GROUP BY prod_id
ORDER BY prod_id;
PROD_ID Number of Customers
---------- -------------------
13 2516
14 2030
15 2105
16 2367
17 2093
18 2975
19 2630
20 3791
. . .