MySQLで2つの列の値を乗算して合計を求めるSUM()クエリの書き方
MySQLでは、集計関数 SUM() を使うことで、各行の値同士を乗算した結果をまとめて合計できます。この方法では、SUM() の中で直接掛け算を行うのがポイントです。
ここでは、商品の「数量 × 単価」を計算し、その合計金額を求める例を見ていきましょう。
1. サンプルテーブルを作成する
まず、CREATE TABLE 文でテーブルを作成します。
mysql> create table DemoTable( ProductQuantity int, ProductPrice int ); Query OK, 0 rows affected (0.48 sec)
次に、INSERT コマンドを使ってレコードを挿入します。
mysql> insert into DemoTable values(10,9); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable values(6,20); Query OK, 1 row affected (0.19 sec) mysql> insert into DemoTable values(7,100); Query OK, 1 row affected (0.08 sec)
2. テーブルの中身を確認する
SELECT 文ですべてのレコードを表示してみましょう。
mysql> select *from DemoTable;
実行すると、以下のような結果が得られます。
+-----------------+--------------+ | ProductQuantity | ProductPrice | +-----------------+--------------+ | 10 | 9 | | 6 | 20 | | 7 | 100 | +-----------------+--------------+ 3 rows in set (0.00 sec)
3. 値を乗算して合計するクエリ
それでは本題です。SUM(ProductQuantity * ProductPrice) のように、SUM() の引数内で2つの列を掛け合わせることで、「数量 × 単価」を各行ごとに計算し、その合計値を一度に取得できます。
mysql> select SUM(ProductQuantity*ProductPrice) AS Total_Value from DemoTable;
実行結果は以下のとおりです。
+-------------+ | Total_Value | +-------------+ | 910 | +-------------+ 1 row in set (0.00 sec)
計算内容の解説
結果の 910 は、次のように各行の乗算結果を足し合わせたものです。
- 10 × 9 = 90
- 6 × 20 = 120
- 7 × 100 = 700
90 + 120 + 700 = 910 となり、正しく合計が求められていることがわかります。
このように SUM() 関数の中で演算式を記述すれば、売上合計や在庫評価額などを実行時に簡単に算出できるため、実務でも非常に便利なテクニックです。
-
MySQLクエリでパーセンテージを計算し、結果を四捨五入する方法
MySQLでは、CONCAT()関数とROUND()関数を組み合わせることで、数値からパーセンテージを算出し、見やすい形式に四捨五入することができます。ここでは、実際にテーブルを作成しながら手順を順番に解説します。1. サンプルテーブルを作成するまずは、元となる数値を格納するためのテーブルを作成しましょう。mysql> create table DemoTable1844 ( Number int, TotalNumber int );Q
-
MySQLで2つの列のすべての値をカウントし、NULL値を除外する方法
MySQLでは、COUNT関数を組み合わせることで、複数の列に含まれるすべての値をカウントできます。COUNT関数はNULL値を自動的に除外するため、NULLが混在するデータでも正確な合計件数を取得できるのが特徴です。ここでは、2つの列の値をカウントし、NULL値を除外した合計カウントを求める方法を具体的な例で解説します。 1. サンプルテーブルの作成 まず、学生名と点数を格納するテーブルを作成します。 mysql> create table DemoTable1975 ( StudentNa