DBのとあるカラムから出現回数が一番多い値(最頻出)をだしたいときに使えるやつです。カテゴライズされた値とかとか。
エクセルだとmodeというので一発でだせるみたいですが(使ったことないけど)
それをBigqueryのStandardSQLでやる方法です。
ちなみにLegacyだと TOP
という関数で行けるみたいです。
APPROX_TOP_COUNT
SELECT
APPROX_TOP_COUNT(x, 1) AS approx_top_count
FROM
UNNEST(["apple", "apple", "pear", "pear", "pear", "banana"]) AS x;
こう書くことで対象のカラムで最も出現する単語を出すことができます。
注意する必要があるのは、
カラム名.value
と
カラム名.count
という形で2列でてくるところです。
valueのほうには一番多く出てくる単語が表示され、
countのほうには、カラムxの中からvalueが何個でてきたか。が出力されます。
最初は、「countいらねえよ!!」
とか思ったんですけどこれすごくありがたいですね。本当にすみませんでした。
第二引数のところに2とか入れれば上位2件のvalueを出力してくれます。幸せいっぱいですね。
参考(ドキュメント)