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

SQLで点数から学生の達成率(パーセンテージ)を計算し、結果にパーセント記号(%)を付ける方法

MySQLでは、CONCAT()関数とROUND()関数を組み合わせることで、学生の点数から達成率を計算し、結果にパーセント記号(%)を付けて表示できます。ここでは、5科目の合計点をもとに達成率を求める手順を紹介します。

1. テーブルの作成

まず、点数を格納するテーブルを作成します。

mysql> create table DemoTable
(
    Marks int
);
Query OK, 0 rows affected (0.62 sec)

2. レコードの挿入

INSERTコマンドを使って、テーブルに点数データを登録します。

mysql> insert into DemoTable values(88);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values(65);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values(98);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values(45);
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values(67);
Query OK, 1 row affected (0.33 sec)

3. 登録したレコードの確認

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

mysql> select *from DemoTable;

実行すると、次のような結果が得られます。

+-------+
| Marks |
+-------+
| 88    |
| 65    |
| 98    |
| 45    |
| 67    |
+-------+
5 rows in set (0.00 sec)

4. 達成率の計算とパーセント記号の追加

それでは、5科目(満点500点)の点数をもとに達成率を計算するクエリを見ていきましょう。SUM(Marks)で合計点を求め、100を掛けて500で割ることで割合(%)を算出します。さらに、ROUND()で四捨五入し、CONCAT()で結果の末尾にパーセント記号(%)を連結します。

mysql> select concat(round(SUM(Marks)*100/500),'%') from DemoTable;

実行結果は以下の通りです。

+---------------------------------------+
| concat(round(SUM(Marks)*100/500),'%') |
+---------------------------------------+
| 73%                                   |
+---------------------------------------+
1 row in set (0.00 sec)

このように、合計点363点に対する達成率「73%」がパーセント記号付きの文字列として取得できました。なお、小数点以下も表示したい場合は、ROUND()の第2引数に桁数を指定するか、FORMAT()関数を利用すると柔軟に対応できます。

  1. MySQLで学生の点数に基づいてカスタムメッセージを表示する方法

    MySQLでは、CASE文を使うことで、点数などの数値データに応じてカスタムメッセージを動的に表示できます。この記事では、学生の点数が40点より大きいかどうかを判定し、「Good Marks」または「Not Good Marks」というメッセージを出力する具体的な手順を解説します。 1. サンプルテーブルを作成する まず、点数を格納するためのテーブルを作成しましょう。 mysql> create table DemoTable1952 ( Marks int ); Query OK, 0 rows affected (0.00 sec) 2. テストデータを挿入す

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

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