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 関数の戻り値は文字列型になるため、整形後の値をさらに数値計算に使う場合は注意してください。表示目的での利用に適しています。
-
ExcelでROUND関数とSUM関数を組み合わせる方法|ネスト関数の基本と実践手順
ポイントチュートリアル用のデータを1行目から5行目に入力したら、セルB6を選択してアクティブにします。「数式」タブから「数学/三角」>「ROUND」を選択します。「数値」ボックスにSUM(A2:A4)と入力し、「桁数」ボックスに2と入力して「OK」をクリックします。ROUND関数とSUM関数を組み合わせた計算結果がセルB6に表示されます。この記事では、ExcelでROUND関数とSUM関数を組み合わせる方法を、具体的なチュートリアル例を交えて解説します。配列数式(CSE数式)の使用方法や、ROUNDUP関数・ROUNDDOWN関数の活用術についても紹介します。この内容は、Excel 20
-
MySQLクエリでパーセンテージを計算し、結果を四捨五入する方法
MySQLでは、CONCAT()関数とROUND()関数を組み合わせることで、数値からパーセンテージを算出し、見やすい形式に四捨五入することができます。ここでは、実際にテーブルを作成しながら手順を順番に解説します。1. サンプルテーブルを作成するまずは、元となる数値を格納するためのテーブルを作成しましょう。mysql> create table DemoTable1844 ( Number int, TotalNumber int );Q