同じIDが繰り返される行の値を合計するMySQLクエリの書き方
MySQLで同じIDが複数回出現する行の値を合計したい場合は、集計関数 SUM() を使用します。この記事では、実際にテーブルを作成し、IDごとにPrice(価格)を合計する方法を手順を追って解説します。
1. サンプルテーブルの作成
まず、以下のようにテーブルを作成します。
mysql> create table DemoTable850(
Id int,
Price int
);
Query OK, 0 rows affected (0.54 sec)
2. テストデータの挿入
次に、INSERTコマンドを使ってレコードを挿入します。ここでは、同じIDを持つ行を意図的に複数作成しています。
mysql> insert into DemoTable850 values(1,90); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable850 values(2,100); Query OK, 1 row affected (0.55 sec) mysql> insert into DemoTable850 values(2,50); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable850 values(1,80); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable850 values(1,60); Query OK, 1 row affected (0.10 sec)
3. 挿入したデータの確認
SELECT文ですべてのレコードを表示してみましょう。
mysql> select *from DemoTable850;
実行結果は以下の通りです。
+------+-------+ | Id | Price | +------+-------+ | 1 | 90 | | 2 | 100 | | 2 | 50 | | 1 | 80 | | 1 | 60 | +------+-------+ 5 rows in set (0.00 sec)
このように、Id「1」が3行、「2」が2行と重複して登録されているのがわかります。
4. 繰り返されるIDの行を合計するクエリ
特定のIDを持つ行の値を合計するには、WHERE句で対象のIDを絞り込み、SUM() 関数で合計を求めます。
mysql> select Id,SUM(Price) from DemoTable850 where Id=1;
実行結果:
+------+------------+ | Id | SUM(Price) | +------+------------+ | 1 | 230 | +------+------------+ 1 row in set (0.00 sec)
5. 補足:すべてのIDごとに合計を求める場合
特定のIDだけでなく、すべてのIDごとの合計を一度に取得したい場合は、GROUP BY句を使います。
mysql> select Id,SUM(Price) from DemoTable850 group by Id;
実行結果:
+------+------------+ | Id | SUM(Price) | +------+------------+ | 1 | 230 | | 2 | 150 | +------+------------+ 2 rows in set (0.00 sec)
まとめ
重複するIDを持つ行の値を合計するには、SUM() 集計関数を使用します。特定のIDだけを対象にする場合はWHERE句、すべてのIDごとの合計を求める場合はGROUP BY句を組み合わせることで、柔軟に集計処理を行うことができます。
-
正の値を持つ行に対してTRUEを返すMySQLクエリの書き方
MySQLで正の値を持つ行に対してTRUE(1)を返し、負の値に対してはFALSE(0)を返したい場合は、IF()関数を使うのが便利です。この記事では、実際にテーブルを作成し、サンプルデータを挿入しながら、具体的なクエリの書き方を解説します。 1. サンプルテーブルを作成する まず、CREATE TABLE文を使ってテーブルを作成します。 mysql> create table DemoTable2038 -> ( -> Id int NOT NULL AUTO_INCREMENT
-
MySQLで同じIDの行を合計する方法:GROUP BYとHAVING句の使い方
MySQLで同じIDを持つ複数の行の値を合計したい場合、「GROUP BY」句と「HAVING」句を組み合わせて使用します。この記事では、テーブルの作成からクエリの実行まで、手順を追ってわかりやすく解説します。 サンプルテーブルの作成 まず、デモ用のテーブルを作成しましょう。ここでは「id」と「price」という2つのカラムを持つシンプルなテーブルを用意します。 例 mysql> create table demo84 -> ( -> id int, -> price int -> ) -> ; Query OK,