MySQLですべての行の列の合計を取得する方法
MySQLですべての行における特定の列の合計値を取得するには、集計関数SUM()を使用します。ここでは、実際にテーブルを作成し、データを追加したうえで、列の合計を求める手順を順番に解説していきます。
1. サンプルテーブルの作成
まず、合計を計算する対象となるテーブルを作成しましょう。以下の例では、IdとAmountという2つの列を持つ「DemoTable」を作成しています。
mysql> create table DemoTable
(
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Amount int
);
Query OK, 0 rows affected (0.20 sec)
2. レコードの挿入
次に、insertコマンドを使ってテーブルにレコードを追加します。Amount列にそれぞれ50、60、70という値を挿入していきます。
mysql> insert into DemoTable(Amount) values(50); Query OK, 1 row affected (0.07 sec) mysql> insert into DemoTable(Amount) values(60); Query OK, 1 row affected (0.04 sec) mysql> insert into DemoTable(Amount) values(70); Query OK, 1 row affected (0.10 sec)
3. テーブル内のレコードを確認する
select文を実行して、テーブルに登録されたすべてのレコードを表示してみましょう。
mysql> select *from DemoTable;
このクエリを実行すると、以下のような結果が表示されます。
+----+--------+ | Id | Amount | +----+--------+ | 1 | 50 | | 2 | 60 | | 3 | 70 | +----+--------+ 3 rows in set (0.00 sec)
4. SUM()関数ですべての行の合計を取得する
それでは、本題である「すべての行の合計値を取得する」クエリを見ていきましょう。SUM()関数に合計を求めたい列名を指定するだけで、該当する全行の値が合算されます。
mysql> select sum(Amount) from DemoTable;
実行結果は以下のとおりです。3行分のAmount(50 + 60 + 70)の合計である「180」が返されています。
+-------------+ | sum(Amount) | +-------------+ | 180 | +-------------+ 1 row in set (0.00 sec)
補足: 別名(エイリアス)を使って見やすくする
そのまま実行すると列名が「sum(Amount)」と表示されてしまうため、AS句を使って別名を付けると、結果がより読みやすくなります。
mysql> select sum(Amount) AS TotalAmount from DemoTable;
このようにSUM()関数を使えば、WHERE句などと組み合わせることで条件を満たす行だけの合計を求めることも可能です。売上集計や在庫数量の合算など、さまざまな場面で活用できる基本的な集計関数なので、ぜひ覚えておきましょう。
-
MySQLで条件に基づいて列の合計(SUM)を取得する方法
はじめに MySQLでは、SUM()関数とGROUP BY句を組み合わせることで、特定の条件に基づいて列の合計値を簡単に取得できます。この記事では、実際のサンプルコードを使って、テーブル作成から集計クエリの実行までの手順をわかりやすく解説します。 1. サンプルテーブルを作成する まず、以下のコマンドでテーブルを作成します。 mysql> create table DemoTable1489 -> ( -> ProductId int, -> ProductPrice int -> ); Query OK, 0 rows affe
-
MySQLで選択した行のサイズを取得する方法|CHAR_LENGTH()関数の使い方
MySQLで選択した行のサイズを取得する方法MySQLで選択した行のサイズ(文字数)を取得するには、CHAR_LENGTH()関数を使用します。この関数は文字列の長さを返すため、SUM()関数と組み合わせることで、複数行にわたる合計サイズを簡単に算出できます。ここでは、実際にテーブルを作成しながら手順を詳しく解説していきます。ステップ1:テーブルを作成するまず、サンプル用のテーブルを作成しましょう。mysql> create table DemoTable1612 -> ( -> Fi