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つあります。