【SQL Server】GROUP BY句の基本構文とSUM・COUNT・MIN・MAXの実用例を解説
SQL Server(Transact-SQL)における GROUP BY句 は、SELECT文の中で使用される句の一つで、複数のレコードから取得したデータを、指定した1つ以上の列の値ごとにグループ化し、集計結果を求めるために使われます。
SQL ServerにおけるGROUP BY句の構文
SELECT expression1, expression2, ... expression_n,
aggregate_function(expression)
FROM table_name
[WHERE conditions]
GROUP BY expression1, expression2, ... expression_n;
パラメータの説明
expression1, expression2, ... expression_n
集計関数に含まれていない式です。SELECT句で指定した場合、必ずGROUP BY句にも同じ式を記述する必要があります。
aggregate_function(集計関数)
SUM、COUNT、MIN、MAX、AVGなどの集計関数を使用できます。
table_name(テーブル名)
レコードを取得する対象のテーブルです。FROM句には少なくとも1つのテーブルを指定しなければなりません。
WHERE conditions(条件)
省略可能です。レコードが選択されるために満たすべき条件をWHERE句で指定します。
GROUP BY句の使用例
SUM関数を使った例
SELECT product_name, SUM(quantity) AS 'total_quantity'
FROM products
GROUP BY product_name;
この例では、SUM関数を使って商品名(product_name)ごとの数量合計を返しています。
SELECT句で「product_name」という列を指定しており、この列がSUM関数の中に含まれていないため、GROUP BY句の使用が必須になります。
COUNT関数を使った例
SELECT manager_id, COUNT(*) AS 'employee_count'
FROM employees
WHERE last_name = 'Anderson'
GROUP BY manager_id;
この例では、COUNT関数によって、姓が「Anderson」である従業員の人数を、上司ID(manager_id)ごとに集計して返します。
MIN関数を使った例
SELECT category, MIN(quantity) AS 'min_quantity'
FROM products
GROUP BY category;
上記のようにGROUP BY句をMIN関数と組み合わせると、カテゴリ(category)ごとの最小数量が返されます。
MAX関数を使った例
SELECT department, MAX(salary) AS 'max_salary'
FROM employees
GROUP BY department;
最後の例では、各部署(department)の名前と、その部署における最高給与額を返します。
まとめ
GROUP BY句は、SUMやCOUNTなどの集計関数と組み合わせることで真価を発揮します。重要なルールとして、SELECT句で集計関数以外の列を指定した場合は、その列を必ずGROUP BY句にも含める必要があります。また、グループ化した後の結果に対してさらに条件で絞り込みたい場合は、WHERE句ではなくHAVING句を使用する点も覚えておくと便利です。
-
【SQL Server】AVG関数の使い方を徹底解説!基本構文から実用例まで
本記事では、SQL Serverにおける数値処理関数「AVG」の使い方を、基本構文と具体的な使用例を交えて詳しく解説します。AVG関数の動作を正しく理解し、実務のデータ集計に活かせるようにしましょう。 AVG関数とは AVG関数は、SQL Serverにおいて式の平均値、または選択された行のうち指定した列の平均値を返す集計関数です。なお、NULLの値は自動的に除外され、平均の計算対象には含まれません。 基本構文 平均値を計算するには、SQL ServerでAVG関数を次のように記述します。 SELECT AVG(列名)FROM テーブル名[WHERE 条件]; パラメータの説明: 列名:平均
-
SQL ServerのFLOOR関数とは?構文と使用例をわかりやすく解説
この記事では、SQL Serverにおける数値処理関数「FLOOR()」の使い方を、具体的な構文と実行例を交えながら詳しく解説します。例を見ながら学ぶことで、FLOOR関数の動きをしっかりと理解できるでしょう。 FLOOR関数の概要 FLOOR関数は、引数として渡された数値または式の下限値(切り捨て後の値)を返す関数です。つまり、渡された数値以下で最も大きい整数値を返します。 例えば、5.9という数値に対してFLOOR関数を使うと、5.9以下の最大の整数である「5」が返されます。負の数の場合は注意が必要で、-5.9に対しては「-6」が返されます。これは、-6の方が-5.9より小さいためです。