MySQLクエリでパーセンテージを計算し、結果を四捨五入する方法
MySQLでは、CONCAT()関数とROUND()関数を組み合わせることで、数値からパーセンテージを算出し、見やすい形式に四捨五入することができます。ここでは、実際にテーブルを作成しながら手順を順番に解説します。
1. サンプルテーブルを作成する
まずは、元となる数値を格納するためのテーブルを作成しましょう。
mysql> create table DemoTable1844
(
Number int,
TotalNumber int
);
Query OK, 0 rows affected (0.00 sec)
2. レコードを挿入する
INSERT文を使って、テーブルにサンプルデータを追加します。
mysql> insert into DemoTable1844 values(50,500);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1844 values(80,500);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1844 values(98,500);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1844 values(45,500);
Query OK, 1 row affected (0.00 sec)
3. テーブルの中身を確認する
SELECT文で、登録した全レコードを表示してみます。
mysql> select * from DemoTable1844;
上記のクエリを実行すると、次のような出力が得られます。
+--------+-------------+
| Number | TotalNumber |
+--------+-------------+
| 50 | 500 |
| 80 | 500 |
| 98 | 500 |
| 45 | 500 |
+--------+-------------+
4 rows in set (0.00 sec)
4. パーセンテージを計算して四捨五入する
次のクエリでは、「Number」を「TotalNumber」で割った値に100を掛けてパーセンテージを求め、ROUND()で小数第2位まで丸めたうえで、CONCAT()によって末尾に「%」記号を連結しています。
mysql> select concat(round(((Number / TotalNumber) * 100 ),2), '%') as Result from DemoTable1844;
実行結果は以下のとおりです。
+--------+
| Result |
+--------+
| 10.00% |
| 16.00% |
| 19.60% |
| 9.00% |
+--------+
4 rows in set (0.00 sec)
ポイント解説
- ROUND(値, 2):小数第2位で四捨五入を行います。桁数を指定しない場合は整数に丸められます。
- CONCAT(文字列1, 文字列2):複数の文字列を連結する関数です。ここでは計算結果の後ろに「%」を付けてパーセント表記にしています。
- (Number / TotalNumber) * 100:割合をパーセンテージに変換するための基本的な計算式です。
このように、集計結果や進捗率などをレポートや画面に表示したい場合でも、SQL側で完結して整形できるのが便利なポイントです。
-
MySQLでクエリの実行結果を変数に代入する方法をわかりやすく解説
MySQLでクエリ結果を変数に代入する基本MySQLでは、@変数名 の形式でユーザー定義変数を使用することで、クエリの実行結果を変数に格納できます。代入には :=(代入演算子)を使い、SELECT文の中で直接値を取得するのが一般的な方法です。この記事では、実際にテーブルを作成し、クエリ結果を変数に代入するまでの一連の手順をサンプルコード付きで紹介します。1. サンプルテーブルを作成するまず、以下のようにCREATE TABLE文でテーブルを作成します。mysql> create table DemoTable1864 ( Id int, FirstName var
-
MySQLでSUM関数とFORMAT関数を組み合わせて集計結果をフォーマットする方法
MySQLでは、SUM()関数とFORMAT()関数を組み合わせることで、数値カラムの合計値を計算しつつ、結果を見やすい形式(桁区切りのカンマ付き・小数点以下の桁数指定)で表示できます。この記事では、実際にテーブルを作成し、データを挿入してから、SUM と FORMAT を組み合わせたクエリの実行方法を順を追って解説します。 1. テーブルの作成 まず、CREATE TABLE 文を使ってサンプル用のテーブルを作成します。ここでは、金額を格納する Amount カラム(FLOAT 型)を1つだけ持つシンプルなテーブルを用意しました。 mysql> create table DemoTa