MySQLでデータを取得する時にIDが同じデータでグループ分けし、グループ毎の最大値や最小値、また合計値を取得したい場合があります。
今回はそのような要望を解決する方法をご紹介します。
グループ分け(集約)にはGROUP BYを使う
グループ分けはGROUP BYを使います。
GROUP BY カラム名
とすることで、カラムの内容が同じものをグループ化して表示することができます。
カラム内の最大値を求めるにはMAXを使う
select id, MAX(num) FROM テーブル名 GROUP BY id
カラム内の最小値を求めるにはMINを使う
select id, MIN(num) FROM テーブル名 GROUP BY id
カラム内の合計値を求めるにはSUMを使う
select id, SUM(num) FROM テーブル名 GROUP BY id
関数を使えば簡単にできるので、使わない理由はないですよね。
データベースでできることはデータベースにまかせてしまったほうが便利です。
本日は以上です。
- 投稿タグ
- MySQL