【MySQL】SUM()関数を使って各列の合計値を取得する方法
MySQLでは、集計関数である SUM() を使うことで、テーブル内の各列の合計値を簡単に求めることができます。この記事では、実際にテーブルを作成し、データを挿入して、各列ごとの合計を取得する手順を解説します。
1. サンプルテーブルを作成する
まず、3つの数値列(FirstValue、SecondValue、ThirdValue)を持つテーブルを作成します。
mysql> create table DemoTable
(
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
FirstValue int,
SecondValue int,
ThirdValue int
);
Query OK, 0 rows affected (0.57 sec)
2. テストデータを挿入する
次に、INSERT文を使ってサンプルデータを4件登録します。
mysql> insert into DemoTable(FirstValue,SecondValue,ThirdValue) values(10,20,30); Query OK, 1 row affected (0.22 sec) mysql> insert into DemoTable(FirstValue,SecondValue,ThirdValue) values(60,50,40); Query OK, 1 row affected (0.19 sec) mysql> insert into DemoTable(FirstValue,SecondValue,ThirdValue) values(80,90,100); Query OK, 1 row affected (0.23 sec) mysql> insert into DemoTable(FirstValue,SecondValue,ThirdValue) values(20,10,0); Query OK, 1 row affected (0.23 sec)
3. 登録されたデータを確認する
SELECT文ですべてのレコードを表示してみましょう。
mysql> select *from DemoTable;
実行結果は以下のとおりです。
+----+------------+-------------+------------+ | Id | FirstValue | SecondValue | ThirdValue | +----+------------+-------------+------------+ | 1 | 10 | 20 | 30 | | 2 | 60 | 50 | 40 | | 3 | 80 | 90 | 100 | | 4 | 20 | 10 | 0 | +----+------------+-------------+------------+ 4 rows in set (0.00 sec)
4. 各列の合計を取得するクエリ
各列の合計値を求めるには、SUM() 関数を列ごとに指定します。以下がそのクエリです。
mysql> select sum(FirstValue),sum(SecondValue),sum(ThirdValue) from DemoTable;
実行すると、次のような結果が得られます。
+-----------------+------------------+-----------------+ | sum(FirstValue) | sum(SecondValue) | sum(ThirdValue) | +-----------------+------------------+-----------------+ | 170 | 170 | 170 | +-----------------+------------------+-----------------+ 1 row in set (0.00 sec)
このように、1つのSELECT文だけで複数列の合計を同時に取得できます。今回の例では、どの列も合計が「170」となっています。
補足:SUM()関数のポイント
- NULLは無視される:
SUM()はNULL値を除外して計算するため、NULLが含まれる列でもエラーにはなりません(すべてNULLの場合は結果がNULLになります)。 - WHERE句との併用:条件を指定したい場合は
WHERE句を組み合わせることで、特定の行だけを対象に合計を算出できます。 - 別名(AS)の活用:
SUM(FirstValue) AS total_firstのように別名を付けると、結果セットが読みやすくなります。
-
MySQLで条件に基づいて列の合計(SUM)を取得する方法
はじめに MySQLでは、SUM()関数とGROUP BY句を組み合わせることで、特定の条件に基づいて列の合計値を簡単に取得できます。この記事では、実際のサンプルコードを使って、テーブル作成から集計クエリの実行までの手順をわかりやすく解説します。 1. サンプルテーブルを作成する まず、以下のコマンドでテーブルを作成します。 mysql> create table DemoTable1489 -> ( -> ProductId int, -> ProductPrice int -> ); Query OK, 0 rows affe
-
【MySQL】SUM()関数を使って単一クエリで特定の列値ごとの複数カウントを取得する方法
特定の列値に基づくカウントを1つのMySQLクエリで複数取得するには、集計関数SUM()を活用します。MySQLでは「列 = 値」という条件式が真なら1、偽なら0を返すため、その結果をSUM()で合計することで、条件に一致する行数を数えられます。まずはサンプル用のテーブルを作成しましょう。 mysql> create table DemoTable1790 ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(20), Score int ); Query OK, 0 rows af