MySQLのSUM()関数で1つの出力行に合計値を取得する方法
MySQLのSUM()関数を使用すると、複数の行に格納された数値を集計し、その合計値を1つの出力行として取得できます。例えば、テーブル「ratelist」の「price」列の合計値を求めたい場合は、次のようにSUM()関数をpriceに対して適用します。
mysql> select SUM(price) as totalprice from ratelist; +------------+ | totalprice | +------------+ | 3237 | +------------+ 1 row in set (0.00 sec)
このクエリを実行すると、price列全体の合計値が1つの出力行として返されます。AS totalpriceのようにAS句で別名を付けておくと、結果セットの列名が分かりやすくなり、可読性が向上します。
カテゴリごとの合計値を取得したい場合
なお、単一の合計ではなく、カテゴリ(グループ)ごとの合計値をそれぞれ取得したい場合は、GROUP BY句を組み合わせます。
mysql> select category, SUM(price) as totalprice from ratelist group by category;
このように書くことで、category列の値ごとにpriceの合計が計算され、カテゴリ別の集計結果を行ごとに得ることができます。売上データや在庫データなど、カテゴリ分類された数値を集計する際に非常に便利な基本テクニックです。
-
MySQLで列内の特定の値の出現回数(カウント)を取得する方法
MySQLでは、COUNT(*)関数とWHERE句を組み合わせることで、特定の列に含まれる指定した値の出現回数を簡単に取得できます。この記事では、サンプルテーブルを作成し、実際にクエリを実行しながら手順を解説します。 1. サンプルテーブルの作成 まず、動作確認用のテーブルを作成しましょう。 mysql> create table DemoTable ( Id int, Name varchar(100) ); Query OK, 0 rows affected (1.40 sec) Id(整数型)とName(可変長文字列型)の2つの列を持つ
-
MySQLクエリで4番目に高い値を取得する方法(LIMIT OFFSET活用)
MySQLで4番目に高い値を取得するには?テーブルから4番目に高い値を取得するには、ORDER BY句で降順に並べ替え、LIMITとOFFSETを組み合わせるのが最もシンプルな方法です。まずは、動作を確認するためのサンプルテーブルを作成しましょう。mysql> create table DemoTable ( Amount int ); Query OK, 0 rows affected (0.88 sec)次に、INSERTコマンドを使ってテーブルにレコードを挿入します。mysql> insert into DemoTable va