COUNT_APPROXは、最も頻度の高い絞込みを返します。
COUNT_APPROXは、特定の状況では結果が概数である点以外COUNT関数に似ています。COUNT同様、COUNT_APPROX関数は、フィールドの値がNULL以外であるレコードの数を、GROUP BYの結果ごとに数えます。
COUNT_APPROX(<attribute>)ここで、attributeは、複数割当て属性または単一割当て属性です。COUNT_APPROX(1)書式も使用できます。
COUNT_APPROX関数は、絞込みのセットを計算するFrequentKパターン・マッチング・アルゴリズムを使用します。具体的には、最も頻度の高い値がレポートされます。PAGE関数を使用して(後述の例に示すように)頻度の範囲を示すことができます。
COUNT_APPROXは、分布に偏りがあり、一部の少数の値が出現する頻度が高い場合に最もよく機能します。ただし、FrequentKパターン・マッチングで結果が生成されない場合、COUNT_APPROXは、COUNT関数と同じ実装(FrequentKアルゴリズムを使用しない)の使用に戻ります。FrequentKパターンマッチング・モードで実行された場合、COUNT_APPROXは概数の結果を返すことがあります。ただし、COUNTモードに戻った場合は正確です。
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 | --------------------