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

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

MySQLでは、SUM()関数とFORMAT()関数を組み合わせることで、数値カラムの合計値を計算しつつ、結果を見やすい形式(桁区切りのカンマ付き・小数点以下の桁数指定)で表示できます。この記事では、実際にテーブルを作成し、データを挿入してから、SUM と FORMAT を組み合わせたクエリの実行方法を順を追って解説します。

1. テーブルの作成

まず、CREATE TABLE 文を使ってサンプル用のテーブルを作成します。ここでは、金額を格納する Amount カラム(FLOAT 型)を1つだけ持つシンプルなテーブルを用意しました。

mysql> create table DemoTable1950
    (
    Amount float
    );
Query OK, 0 rows affected (0.00 sec)

2. レコードの挿入

次に、INSERT コマンドを使ってテーブルに複数のレコードを挿入します。

mysql> insert into DemoTable1950 values(45.60);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1950 values(101.78);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1950 values(75.90);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1950 values(89.45);
Query OK, 1 row affected (0.00 sec)

3. テーブル内の全レコードを確認

SELECT 文を使って、挿入したレコードが正しく登録されているか確認しましょう。

mysql> select * from DemoTable1950;

上記のクエリを実行すると、次のような出力が得られます。

+--------+
| Amount |
+--------+
|   45.6 |
| 101.78 |
|   75.9 |
|  89.45 |
+--------+
4 rows in set (0.00 sec)

4. SUM と FORMAT を組み合わせたクエリ

ここが本題です。以下のように SUM(Amount) の結果を FORMAT() 関数で囲むことで、合計値を小数点第2位まで整形して表示できます。

mysql> select format(sum(Amount),2) as TotalSum from DemoTable1950;

実行結果は次のとおりです。

+----------+
| TotalSum |
+----------+
| 312.73   |
+----------+
1 row in set (0.00 sec)

解説:なぜこの組み合わせが便利なのか

FORMAT(X, D) 関数は、数値 X を小数点以下 D 桁に丸め、3桁ごとにカンマ区切りを付けた文字列として返します。そのため、金額などの大きな数値を扱う場合でも、「312.73」のように整った形で出力できるのがメリットです。

例えば、合計値がさらに大きくなる場合は、次のようにカンマ区切りが自動的に付与されます。

mysql> select format(sum(Amount),2) as TotalSum from DemoTable1950;
-- 合計が 1234567.891 の場合 → 「1,234,567.89」と表示される

まとめ

  • SUM():指定したカラムの合計値を計算する集計関数。
  • FORMAT(値, 桁数):数値を指定した小数点以下の桁数に丸め、カンマ区切りの文字列として整形する関数。
  • 両者を組み合わせれば、「SELECT FORMAT(SUM(カラム名), 桁数) AS 別名 FROM テーブル名;」という形で、読みやすい合計値を簡単に取得できます。

なお、FORMAT 関数の戻り値は文字列型になるため、整形後の値をさらに数値計算に使う場合は注意してください。表示目的での利用に適しています。

  1. ExcelでROUND関数とSUM関数を組み合わせる方法|ネスト関数の基本と実践手順

    ポイントチュートリアル用のデータを1行目から5行目に入力したら、セルB6を選択してアクティブにします。「数式」タブから「数学/三角」>「ROUND」を選択します。「数値」ボックスにSUM(A2:A4)と入力し、「桁数」ボックスに2と入力して「OK」をクリックします。ROUND関数とSUM関数を組み合わせた計算結果がセルB6に表示されます。この記事では、ExcelでROUND関数とSUM関数を組み合わせる方法を、具体的なチュートリアル例を交えて解説します。配列数式(CSE数式)の使用方法や、ROUNDUP関数・ROUNDDOWN関数の活用術についても紹介します。この内容は、Excel 20

  2. MySQLクエリでパーセンテージを計算し、結果を四捨五入する方法

    MySQLでは、CONCAT()関数とROUND()関数を組み合わせることで、数値からパーセンテージを算出し、見やすい形式に四捨五入することができます。ここでは、実際にテーブルを作成しながら手順を順番に解説します。1. サンプルテーブルを作成するまずは、元となる数値を格納するためのテーブルを作成しましょう。mysql> create table DemoTable1844     (     Number int,     TotalNumber int     );Q