業界・業務から探す
導入目的・課題から探す
データ・AIについて学ぶ
News
Hakkyについて
ウェビナーコラム
◆トップ【データ分析】
AI

執筆者:Handbook編集部

BigQueryの集計関数についてまとめる

BigQuery の集計関数についてまとめる

BigQuery では集計関数がサポートされています。この記事は BigQuery でよく使う文字列関数を書いていきます。

COUNT

COUNT関数を使用して、テーブル内の行数を返すことができます。

COUNT(*)
[OVER ...]

または、下記の構文を使用して重複しない値の数を返すことができます。

COUNT(
  [DISTINCT]
  expression
)
[OVER (...)]

以下のようなテーブルnumがあるとします。

num
1
2
2
3

COUNT関数を使って行数をカウントしてみます。

SELECT
  COUNT(*) AS count_star,
  COUNT(DISTINCT num) AS count_dist_num
FROM
  num

+------------+--------------+
| count_star |count_dist_num|
+------------+--------------+
| 4          | 3            |
+------------+--------------+

重複しない値の行数をカウントするとき、出力結果が 4 行ではなく 3 行になっていることが分かります。

MIN と MAX

MIN関数とMAX関数は非NULL式の最小値または最大値を返すことができます。

MIN(expression)

MAX(expression)

SELECT
  MIN(x) AS min,
  MAX(x) AS max
FROM
  UNNEST([8, 37, 4, 55]) AS x

+-----+-----+
| max | min |
+-----+-----+
| 4   | 55  |
+-----+-----+

SUM

SUM関数はNULL以外の値をの合計を返すことができます。

SUM(
  [ DISTINCT ]
  expression
)
[ OVER ... ]

SELECT
  -- すべての値に対して加算を行う
  SUM(x) AS sum,
  -- 重複していない値だけ加算する
  SUM(DISTINCT x) AS sum_distinct
FROM
  UNNEST([1, 2, 3, 4, 5, 4, 3, 2, 1]) AS x

+-----+---------------+
| sum | sum_dictinct  |
+-----+---------------+
| 25  | 15            |
+-----+---------------+

AVG

AVG関数はNULL以外の値の平均を返すことができます。

AVG(
  [ DISTINCT ]
  expression
)
[ OVER ... ]

SELECT
  -- すべての値に対して平均を取る
  AVG(x) as avg,
  -- 重複していない値に対して平均を取る
  AVG(DISTINCT x) AS avg_distinct
FROM
  UNNEST([0, 2, 4, 4, 5]) as x

+-----+---------------+
| avg | avg_dictinct  |
+-----+---------------+
| 25  | 15            |
+-----+---------------+

参考

info
備考

Hakky では社内のデータ活用やサービスとしてデータ提供を行うためのソリューションを展開しております。

「BigQuery の管理や使い方に困っている」など具体的な相談はもちろんのこと、「どんなことをお願いできるのか知りたい」や「こんなことをやりたい」など、ご検討段階でも構いませんので、ぜひお気軽にフォームよりお問い合わせくださいませ。

Hakkyへのお問い合わせ
2025年06月12日に最終更新
読み込み中...