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
(DISTINCT
expr
)
ファンクションの詳細は、「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 . . .