MySQLで各行の2つの列(セル)の値を乗算する方法を実例付きで解説
MySQLでは、乗算演算子(*)を使うことで、SELECT文の中で2つの列(セル)の値を簡単に掛け合わせることができます。計算結果にはAS句で別名(エイリアス)を付けて表示すると、出力が読みやすくなります。
基本構文
2つの列を乗算する際の基本的な構文は以下の通りです。
SELECT yourColumnName1, yourColumnName2, yourColumnName1 * yourColumnName2 AS 'anyVariableName' FROM yourTableName;
この構文では、指定した2つの列の値が行ごとに乗算され、その結果が「anyVariableName」で指定した名前の新しい列として表示されます。
サンプルテーブルの作成
それでは、実際に構文を理解するためにテーブルを作成してみましょう。テーブルを作成するクエリは以下の通りです。
mysql> create table MultiplicationDemo
-> (
-> FirstPrice int,
-> SecondPrice int
-> );
Query OK, 0 rows affected (0.63 sec)データの挿入
次に、insertコマンドを使ってテーブルにレコードを挿入します。各レコードには2つの数値(価格)を格納します。
mysql> insert into MultiplicationDemo values(10,2); Query OK, 1 row affected (0.17 sec) mysql> insert into MultiplicationDemo values(4,2); Query OK, 1 row affected (0.30 sec) mysql> insert into MultiplicationDemo values(5,6); Query OK, 1 row affected (0.17 sec) mysql> insert into MultiplicationDemo values(6,3); Query OK, 1 row affected (0.12 sec)
登録済みレコードの確認
select文を使って、テーブル内のすべてのレコードを表示します。
mysql> select *from MultiplicationDemo;
以下が出力結果です。
+------------+-------------+ | FirstPrice | SecondPrice | +------------+-------------+ | 10 | 2 | | 4 | 2 | | 5 | 6 | | 6 | 3 | +------------+-------------+ 4 rows in set (0.00 sec)
2つの列を乗算するクエリ
ここで、FirstPriceとSecondPriceの2つのセル(列)の値を行ごとに掛け合わせるクエリを実行します。
mysql> select FirstPrice, SecondPrice,
-> FirstPrice*SecondPrice as 'MultiplicationResult'
-> from MultiplicationDemo;以下が出力結果です。
+------------+-------------+----------------------+ | FirstPrice | SecondPrice | MultiplicationResult | +------------+-------------+----------------------+ | 10 | 2 | 20 | | 4 | 2 | 8 | | 5 | 6 | 30 | | 6 | 3 | 18 | +------------+-------------+----------------------+ 4 rows in set (0.03 sec)
まとめ
このように、MySQLでは乗算演算子(*)をSELECT文に組み込むだけで、各行の2つの列の値を簡単に掛け算できます。「as 'MultiplicationResult'」のように別名を付けることで、計算結果の列名が分かりやすくなり、レポートや集計処理にもそのまま活用できます。なお、列名に日本語などのマルチバイト文字を使う場合は、バッククォート(`)で囲むと安全です。
-
MySQLにDATEPART()関数はない?MONTH()関数で月ごとに行を抽出する方法
SQL ServerでおなじみのDATEPART()関数ですが、実はMySQLには存在しません。そのため、日付カラムから月の情報を抽出して行を絞り込みたい場合は、代わりにMONTH()関数を使用します。MONTH()関数を使った基本的な構文SELECT * FROM yourTableName WHERE MONTH(yourDateColumnName) = yourValue;この構文では、指定したテーブルの中から、日付カラムの「月」が条件値と一致するレコードだけを取得できます。それでは、実際にテーブルを作成しながら動作を確認していきましょう。サンプルテーブルの作成まず、以下のクエリでテー
-
MySQLクエリで特定の行を検索する方法|WHERE句を使った条件指定の基本
MySQLで大量のデータが保存されたテーブルから、目的の1行だけを取り出したい場面はよくあります。そんなときに活躍するのがWHERE句です。この記事では、サンプルテーブルを作成しながら、特定の行を検索して表示する方法を初心者向けにわかりやすく解説します。 1. サンプルテーブルを作成する まず、検索対象となるテーブルを作成しましょう。ここではユーザーIDとユーザー名を持つ「DemoTable」を使用します。 mysql> create table DemoTable ( UserId int, UserName varchar(100) ); Query OK, 0 r