プライマリ・コンテンツに移動
Oracle® Big Data Discovery Cloud Service EQLリファレンス

E65371-04
目次へ
目次
索引へ移動
索引

前
次
機械翻訳について

APPROXCOUNTDISTINCT関数

APPROXCOUNTDISTINCT関数は、属性の個別値の数をカウントします。

APPROXCOUNTDISTINCTCOUNTDISTINCT関数と類似していますが、この関数は特定の状況において個別値の数の近似処理を実行できる点が異なります。 APPROXCOUNTDISTINCT関数は、GROUP BY結果ごとに、フィールド内の一意の値の数を返します。 APPROXCOUNTDISTINCTは、単一割当て属性と複数割当て属性の両方に使用できます。

APPROXCOUNTDISTINCT関数では、HyperLogLogアルゴリズムを使用して絞込みのセットを計算します。 個別値の数が少ない場合、結果は正確になります。個別値の数が大きい場合、結果は近似処理になります。

APPROXCOUNTDISTINCTでは、空のセットを持つレコードも評価されます(つまり、指定された複数割当属性に対する割当を持たないレコードに対しては、空のセットが返されます)。

APPROXCOUNTDISTINCT構文

APPROXCOUNTDISTINCT関数の構文は、次のとおりです:
APPROXCOUNTDISTINCT(<attribute>)
「属性」は、複数割当または単一割当の属性です。

APPROXCOUNTDISTINCTの例

次の9つのレコードはWineType=Red (WineTypeは単一割当て属性)であると仮定します。 各レコードには、複数割当本文属性に対して1つまたは2つの割当が含まれます:
Body                WineID
--------------------------
{ Silky, Tannins }    3
{ Robust, Tannins }   4
{ Silky, Tannins }    5
{ Robust }            6
{ Robust }            8
{ Silky, Tannins }    9
{ Silky, Tannins }   12
{ Silky, Tannins }   16
{ Silky, Tannins }   18
--------------------------
次の文は、WineType=RedレコードのBody属性の値が異なる場合の値を戻します:
RETURN Result AS
SELECT APPROXCOUNTDISTINCT (Body) AS Total
FROM WineState
WHERE WineType = 'Red'
GROUP BY WineType
文の結果は次のとおりです:
Total=3, WineType=Red
このグループの場合、完全数属性の一意の値を持つ空でないセットが3つあるため、合計の値は3になります:
  • レコード3、5、9、12、16および18に設定されており、それぞれのレコードにはサイレント・ボリュームの割当ておよび本文の割当てがあります。
  • レコード6および8に1セットあり、それぞれのレコードに本文のRobust割当てがあります。
  • レコード4に設定され、本文に"Robust"および"Tannins"の割当てがあるもの。

したがって、本文属性には、WineType属性でグループ化された3セットの個別値があります。