SiNBLOG

140文字に入らないことを、極稀に書くBlog

bigqueryのjoin eachとgroup each by

join eachを使う時にサブクエリの中でgroup byが使えないと書きました

2013-04-28 - SinDiary

しかし、これの解決策を教えてもらいました


それがgroup each by

公式ドキュメント見ても、いまいち使いどころが分かっていなかった、これ

join eachとセットで使うのが基本なのかな・・・?

前回のsqlをgroup each byで書くとこんな感じ


SELECT p1.pokemonName FROM [pokemonms.Pokemon] p1
JOIN EACH
(SELECT worldGuideNo, pokemonName
FROM [pokemonms.Pokemon]
GROUP EACH BY worldGuideNo,pokemonName
) p2 ON p1.worldGuideNo = p2.worldGuideNo

group byがgroup each byってなっただけですね!

ということで、以下のようです


join eachで右側のテーブルにサブクエリを使い かつ サブクエリにgroup byがある場合、group each byを使う


これで、small joinで収まりきらなくなったものをlarge joinにする時も、ちょっと修正するだけでいけますね