sum(if(...))の数が多いとWebUIからのクエリ実行ができない
あるテーブルを縦持ちから横持ちに変換(pivot)しようとしたところ、
カラム数が一定数を超えるとクエリが実行できなくなってしまいました。
構文エラーやエラーチェックなどはでず、単に「クエリが実行できません」というトーストがでます。
具体的には以下のようなクエリになります。
with sub as (
select
prime
,number
,sum(prime * number) as multi
from
unnest([1,2,3,5,7,11,13,17]) as prime,unnest([1,2,3,4,5]) as number
group by
prime, number
)
select
prime
, number
, sum(if(multi= 1, 1, 0)) as cnt_total_1
, sum(if(multi= 2, 1, 0)) as cnt_total_2
, sum(if(multi= 3, 1, 0)) as cnt_total_3
, sum(if(multi= 4, 1, 0)) as cnt_total_4
// ...
, sum(if(multi=56, 1, 0)) as cnt_total_56
, sum(if(multi=57, 1, 0)) as cnt_total_57
from
sub
group by
prime, number
order by
prime, number
sum(if(...))のカラムが、50前後になると実行できなくなります。
この問題を回避する方法はあるのでしょうか?