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