MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

【MySQL】2つの列の値を掛け合わせて新しい列として表示する方法

MySQLでは、SELECT文の中で算術演算子「*」を使うことで、2つの列の値を乗算した結果を新しい列として表示できます。ここでは、実際にテーブルを作成しながら、その手順をわかりやすく解説します。

1. サンプルテーブルの作成

まず、以下のようにCREATE TABLE文を使ってテーブルを作成します。

mysql> create table DemoTable
    -> (
    -> NumberOfItems int,
    -> Amount int
    -> );
Query OK, 0 rows affected (0.57 sec)

このテーブルには、「NumberOfItems(個数)」と「Amount(金額)」という2つのint型の列が定義されています。

2. テストデータの挿入

次に、INSERTコマンドを使ってレコードを挿入します。

mysql> insert into DemoTable values(4,902);
Query OK, 1 row affected (0.45 sec)

mysql> insert into DemoTable values(5,1000);
Query OK, 1 row affected (0.16 sec)

mysql> insert into DemoTable values(3,80);
Query OK, 1 row affected (0.12 sec)

SELECT文ですべてのレコードを確認してみましょう。

mysql> select *from DemoTable;

実行結果

+---------------+--------+
| NumberOfItems | Amount |
+---------------+--------+
|             4 | 902    |
|             5 | 1000   |
|             3 | 80     |
+---------------+--------+
3 rows in set (0.00 sec)

3. 2つの列を乗算して新しい列を表示する

いよいよ本題です。SELECT文の中で「NumberOfItems * Amount」と記述することで、2つの列の積を計算できます。さらにAS句を使えば、計算結果に任意の別名(エイリアス)を付けて、新しい列として表示することが可能です。

mysql> select NumberOfItems,Amount,(NumberOfItems*Amount) AS PayableAmount from DemoTable;

実行結果

+---------------+--------+---------------+
| NumberOfItems | Amount | PayableAmount |
+---------------+--------+---------------+
|             4 | 902    |         3608  |
|             5 | 1000   |         5000  |
|             3 | 80     |         240   |
+---------------+--------+---------------+
3 rows in set (0.00 sec)

この例では、個数と金額を掛け合わせた結果が「PayableAmount(支払額)」という新しい列名で表示されています。このように、元のテーブルの構造を変更することなく、クエリの実行時に動的に計算結果を取得できるのがポイントです。

まとめ

  • SELECT文内で「列A * 列B」と記述すると、2つの列の値を乗算できる
  • AS句を使うことで、計算結果にわかりやすい別名を付けて表示できる
  • テーブル自体を変更せず、表示時に計算結果を追加できるため柔軟性が高い

売上金額や請求金額など、複数の列から導き出される値が必要な場面で、この方法は非常に役立ちます。ぜひ活用してみてください。

  1. MySQLで2つの異なる列の値を1つの列のリストとして選択・表示する方法(UNION ALLの活用)

    UNION ALLを使って2つの列の値を1つのリストにまとめる方法MySQLで、異なる2つの列(カラム)に格納されている値を、1つの列としてまとめて取得したい場合はUNION ALLを使用します。UNION ALLは、複数のSELECT文の結果をそのまま連結して表示できる便利な構文です。ここでは、実際にテーブルを作成して動作を確認してみましょう。1. テーブルの作成まず、2つの名前列を持つテーブルを作成します。mysql> create table DemoTable1813 ( Name1 varchar(20), Name2 varchar(20) )

  2. MySQLで重複する列の値を検索して表示する方法(GROUP BY HAVING句の使い方)

    MySQLでテーブル内の重複データを検索したい場面は多くあります。例えば、登録データの重複チェックやデータクレンジングなどが挙げられます。このような場合には、GROUP BY句とHAVING句を組み合わせることで、簡単に重複する列の値を抽出できます。 重複検出の基本的な考え方 GROUP BY句で列の値ごとにレコードをグループ化し、HAVING句で「同じ値が2件以上存在するグループ」だけを絞り込むことで、重複している値だけを取り出すことができます。 サンプルテーブルの作成 まず、検証用のテーブルを作成します。 mysql> create table DemoTable1858