翻訳ページ
このページは AI の支援を受けて英語から翻訳されています。内容が異なる場合は英語版が正となります。
AVG
列または列のグループ内にある、NULL 以外のすべての値の平均値を返します。
関連項目:
[SELECT]
構文
SELECT AVG(columnExpression) FROM <multipartIdentifier>
[ GROUP BY groupByColumn ];
引数
columnExpression
列または式。
数値として表現できない文字列値と BLOB 値は
0として解釈されます。
columnExpression の値のうち少なくとも 1 つが
NULL以外である必要があります。そうでない場合はNULLが返されます。
groupByColumn
要約操作または集約操作の対象となる 1 つ以上の列。GROUP BY 句は、列のグループごとに 1 行を返します。
戻り値
columnExpression の平均を表す浮動小数点値を返します。
例
リソース全体で列式の平均を返す
SELECT avg(json_array_length(disks)) as avg_disks
FROM google.compute.instances
WHERE project = 'stackql-demo'
AND zone = 'australia-southeast1-a';
別の列式でグループ化した列式の平均を返す
SELECT tags, avg(json_array_length(disks)) as avg_disks
FROM google.compute.instances
WHERE project = 'stackql-demo'
AND zone = 'australia-southeast1-a'
GROUP BY json_extract(tags, '$.instanceType');
AVG をウィンドウ関数として使用して移動平均を計算する
-- Calculate moving average of commit activity
WITH weekly_totals AS (
SELECT
week,
SUM(json_each.value) as commits_this_week
FROM github.repos.stats_commit_activity, JSON_EACH(days)
WHERE owner = 'stackql'
AND repo = 'stackql'
GROUP BY week
)
SELECT
week,
commits_this_week,
ROUND(AVG(commits_this_week) OVER (ORDER BY week ROWS BETWEEN 3 PRECEDING AND CURRENT ROW), 1) as four_week_moving_avg
FROM weekly_totals
ORDER BY week;
詳細については、https://www.sqlite.org/lang_aggfunc.html#avg を参照してください。