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

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側で完結して整形できるのが便利なポイントです。

  1. MySQLでクエリの実行結果を変数に代入する方法をわかりやすく解説

    MySQLでクエリ結果を変数に代入する基本MySQLでは、@変数名 の形式でユーザー定義変数を使用することで、クエリの実行結果を変数に格納できます。代入には :=(代入演算子)を使い、SELECT文の中で直接値を取得するのが一般的な方法です。この記事では、実際にテーブルを作成し、クエリ結果を変数に代入するまでの一連の手順をサンプルコード付きで紹介します。1. サンプルテーブルを作成するまず、以下のようにCREATE TABLE文でテーブルを作成します。mysql> create table DemoTable1864 ( Id int, FirstName var

  2. MySQLでSUM関数とFORMAT関数を組み合わせて集計結果をフォーマットする方法

    MySQLでは、SUM()関数とFORMAT()関数を組み合わせることで、数値カラムの合計値を計算しつつ、結果を見やすい形式(桁区切りのカンマ付き・小数点以下の桁数指定)で表示できます。この記事では、実際にテーブルを作成し、データを挿入してから、SUM と FORMAT を組み合わせたクエリの実行方法を順を追って解説します。 1. テーブルの作成 まず、CREATE TABLE 文を使ってサンプル用のテーブルを作成します。ここでは、金額を格納する Amount カラム(FLOAT 型)を1つだけ持つシンプルなテーブルを用意しました。 mysql> create table DemoTa