APPROXCOUNTDISTINCT関数は、属性の重複を除いた値の数を数えます。
APPROXCOUNTDISTINCTは、特定の状況では重複を除いた値の数が概数である点以外COUNTDISTINCT関数に似ています。APPROXCOUNTDISTINCT関数は、フィールドの重複を除いた値の数をGROUP BYの結果ごとに返します。APPROXCOUNTDISTINCTは、単一割当て属性および複数割当て属性の両方で使用できます。
APPROXCOUNTDISTINCT関数はHyperLogLogアルゴリズムを使用して絞込みのセットを計算します。重複を除いた値の数が少ない場合、結果は正確です。重複を除いた値の数が多い場合、結果は概数です。
APPROXCOUNTDISTINCTは、空のセットを持つレコードも評価します(つまり、指定した複数割当て属性に対して割当てを持たないレコードに対しては、空のセットを返します)。
APPROXCOUNTDISTINCT(<attribute>)ここで、attributeは、複数割当て属性または単一割当て属性です。
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 --------------------------
RETURN Result AS SELECT APPROXCOUNTDISTINCT (Body) AS Total FROM WineState WHERE WineType = 'Red' GROUP BY WineType
Total=3, WineType=Red
したがって、WineType属性でグルーピングした場合、Body属性の重複を除いた値のセットは3つあります。