COUNT_APPROX
は最も頻度の高い絞込みを戻します。
COUNT_APPROX
は、特定の状況で正確な結果を得ることができる点を除けばCOUNT
関数と似ています。 COUNT
と同様に、COUNT_APPROX
関数でも、GROUP BY
の結果ごとにNULL以外の値を持つレコードの数がカウントされます。
COUNT_APPROX
関数の構文は、次のとおりです:
COUNT_APPROX(<attribute>)
「属性」は、複数割当または単一割当の属性です。 COUNT_APPROX(1)
形式を使用することもできます。
COUNT_APPROX
関数では、一連の絞込みを計算するFrequentKパターン一致アルゴリズムが使用されます。 具体的には、最も頻度の高い値がレポートされます。 PAGE
関数を使用することにより、頻度の範囲を示すことができます(次の例を参照)。
COUNT_APPROX
では分散に偏りがあるため、小さい値セットが頻繁に出現する場合に最適です。 ただし、FrequentKパターン一致で結果が生成されなかった場合は、COUNT_APPROX
はCOUNT
関数(FrequentKアルゴリズムを使用しない)と同じ実装を使用するようになります。 FrequentKパターン一致モードで実行している場合、COUNT_APPROX
は正確な結果を返す可能性がありますが、COUNT
モードに戻す場合は正確です。
COUNT_APPROXの例
RETURN Results AS SELECT COUNT_APPROX(COUNTRY) AS Approx FROM SalesData WHERE COUNTRY IS NOT NULL GROUP BY COUNTRY ORDER BY Approx DESC PAGE(0, 10)
Approx COUNTRY -------------------- | 81970 | USA | | 1590 | GERMANY | | 1353 | JAPAN | | 667 | KOREA | | 598 | ENGLAND | | 585 | ITALY | | 546 | CANADA | | 242 | GUAM | | 203 | COLOMBIA | | 176 | SPAIN | --------------------