SQLにおけるGROUP BYと集約関数(SUM, AVG, MAX, MIN)の使い方

この記事では、SQL(Structured Query Language)において「GROUP BY」と呼ばれる機能と、集約関数(SUM, AVG, MAX, MIN)の使い方について詳しく解説します。GROUP BYと集約関数はデータベースからのデータ抽出において非常に重要な要素です。これらを効率よく使いこなすことで、複雑なデータ解析も容易になります。

目次

GROUP BYの基本

GROUP BY句は、SQLクエリの一部として使われ、特定のカラムに基づいて行をグループ化します。この機能は、何らかの計算をグループごとに行いたいときに非常に役立ちます。

基本的な書き方

基本的なGROUP BYの書き方は以下の通りです。

SELECT カラム名1, カラム名2, …
FROM テーブル名
GROUP BY カラム名1, カラム名2, … ;

実例

考えられるシナリオとして、ある販売データのテーブルがあり、それぞれの商品カテゴリごとに売上を集計したい場合があります。

SELECT 商品カテゴリ, SUM(売上)
FROM 販売データ
GROUP BY 商品カテゴリ;

集約関数とは

集約関数は、特定のグループに対して何らかの計算を行う関数です。SQLではよく使われる集約関数としてSUM, AVG, MAX, MINなどがあります。

SUM関数

SUM関数は、特定の数値カラムの値をすべて加算します。

商品カテゴリ売上
家電2000
家具1500
テーブル名称1
SELECT 商品カテゴリ, SUM(売上)
FROM テーブル名称1
GROUP BY 商品カテゴリ;

AVG関数

AVG関数は、特定の数値カラムの平均値を計算します。

MAX関数とMIN関数

MAX関数は、特定のカラムの最大値を、MIN関数は最小値を返します。

GROUP BYと集約関数の組み合わせ

GROUP BYと集約関数を組み合わせることで、更に複雑なデータ解析が可能になります。

SELECT 商品カテゴリ, SUM(売上), AVG(売上), MAX(売上), MIN(売上)
FROM テーブル名称1
GROUP BY 商品カテゴリ;

まとめ

GROUP BYと集約関数(SUM, AVG, MAX, MIN)は、SQLでのデータ抽出や解析において非常に重要なツールです。これらを効率よく使いこなすことで、多様なデータ解析が可能になります。特に、複数の集約関数を一つのSQLクエリに組み合わせることで、より高度な分析が行えます。

コメント

コメントする

目次