注意: 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 . . .