bigqqueryで四分位数を算出するコードがあまりなかったのでメモ投稿です

SELECT
  key
 , min
  -- 配列にしたpercent情報からoffsetで割合算出
 , percent[offset(25)] AS per_25 -- 第一四分位点
 , percent[offset(50)] AS per_50 -- 第二四分位点
 , percent[offset(75)] AS per_75 -- 第三四分位点
 , max
FROM 
(
  -- 四分位数を抽出するため、以下のように統計量を先に出す
  SELECT
   key 
   , MIN(ranking) AS min
   , MAX(ranking) AS max
   -- ranking情報を割合で出せるように配列にする
   , APPROX_QUANTILES(ranking, 100) AS percent  
  FROM
  dataset.table
 GROUP BY
   key
)
おすすめの記事