MySQL – グループごとの最大値のレコード

概要

インラインビューグルーピングを使って、レコード中のある列の値が最大値/最小値となるレコードをグループごとに抽出できる。

以下、実行例に沿ってその方法を整理する。

実行例

以下のデータを使う。

ここでは各科目ごとの最高点をとった学生と教科を抽出する。

手順

グループごとの最大値

科目によってグルーピングし、各科目の最高得点を得る。

インラインビューによる最高得点列の追加

インラインビューに別名を定義し、元のテーブルと併記することで、全レコードに新たな最高スコアの列が追加される。

最高得点のレコードの追加

各学生・科目のレコードのうち、スコアが最高スコアに等しいレコードを抽出する。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です