APPROX_COUNT_DISTINCT
構文
目的
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を戻します。
関連項目:
-
COUNT(DISTINCTexpr)ファンクションの詳細は、「COUNT」を参照してください。 -
exprの文字値を比較するためにAPPROX_COUNT_DISTINCTで使用する照合を定義する照合決定ルールは、『Oracle Databaseグローバリゼーション・サポート・ガイド』の付録Cを参照してください。
例
次の文は、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
. . .