MySQLで、グループごとの最高得点者一覧を取得する方法を教えてください。
例えば、「生徒番号」「学年」「組」「成績」というカラムを持ったテーブルがあるとき、各クラス (「学年」と「組」のペア) から一人ずつ、最高得点を取得した生徒の「生徒番号」と「成績」を取得しようとしています。このとき「生徒番号」は一意ですが、「成績」は一意とは限りません。
また、同じクラスで最高得点者が二人以上いる場合、すべて取得か条件を指定して一人に絞るかを選べたらなおありがたいです。
【だめだった例】
SELECT 生徒番号, 成績
GROUP BY 学年, 組
ORDER BY 成績 DESC
⇒ 「GROUP BY 成績」なので「生徒番号」を SELECT できない
SELECT 生徒番号, 成績
GROUP BY 学年, 組
HAVING MAX(成績)
⇒ 同じく
SELECT 生徒番号, 成績
WHERE 成績 IN (
SELECT MAX(成績)
FROM テーブル
GROUP BY 学年, 組
)
⇒ 「成績」は一意ではないので、余分な行 (他のクラスで成績が同じ者) が取得される
No.1ベストアンサー
- 回答日時:
同率がいた場合列記する
SELECT 生徒番号,MAIN.学年, MAIN.組,MAIN.成績
FROM 成績テーブル AS MAIN
INNER JOIN (
SELECT 学年, 組,MAX(成績) AS 成績 FROM 成績テーブル
GROUP BY 学年, 組
) AS SUB USING(学年,組,成績)
一つだけ抽出する(たとえば生徒番号が若い方)
SELECT MIN(生徒番号) AS 生徒番号,MAIN.学年, MAIN.組,MAIN.成績
FROM 成績テーブル AS MAIN
INNER JOIN (
SELECT 学年, 組,MAX(成績) AS 成績 FROM 成績テーブル
GROUP BY 学年, 組
) AS SUB USING(学年,組,成績)
GROUP BY 学年,組
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 第二回模試の3科目の各得点と合 1 2023/04/25 18:02
- MySQL 三科目合計点のクラス別平均点求めるクエリ式を教えてください 1 2023/07/04 09:44
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「名前(first name) 1 2023/06/24 13:03
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- 高校受験 身長187cmです。 公立中学校の成績についてです。 300人の学年で、定期テストは毎回トップ10に 1 2022/10/16 00:15
- 高校 高校2年生女子です。 来年の授業で何をとるか迷っています。 物理、化学、生物の3つの中から1つ取ろう 2 2022/06/07 20:55
- 野球 日本ハムの清宮選手に関して。 プロ5年目の一塁手として今年の成績はかなりヤバそうですが、来年に一軍と 3 2022/09/07 11:48
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 第二回模試の3科目の各得点と合 1 2023/04/24 01:33
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「A,B組の女子の氏名のよみ。 1 2023/05/16 15:28
- 中学校 登校拒否の生徒が試験の時だけ出てペーパーテストで高得点をとったとします 。 しかし成績は5段階評価で 4 2022/04/16 08:43
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
サブクエリを使用せずにLEFT JO...
-
Accessで教えてください。
-
Accessでデータシートに同じデ...
-
SELECT 文の NULL列は?
-
テーブル名をカラムとして取得...
-
単純なselectが遅くなるのです...
-
テーブルリンク リンク元を知...
-
アクセス レコードセットを更...
-
テーブルに存在しない列をselec...
-
一つ前に戻るには…
-
L2SWはARPテーブルを持っている?
-
mysql alter table 終わらない
-
男性と2人で飲食店に行きテーブ...
-
他のデータベースとのテーブル結合
-
Accessのテーブルデータを一気...
-
外部キーだけのテーブル(主キ...
-
OracleのSQLで同テーブルのカラ...
-
会社の飲み会の幹事になり、座...
-
Access VBAからエクセルに出力...
-
「テーブルに座って……」という...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
このSQLあってますか?教えてく...
-
SQLで漢字名称を都道府県や市区...
-
下記の問合せを行うクエリを、P...
-
SELECT文内での条件分岐
-
下記の問合せを行うクエリを、P...
-
SQLです。こんな感じですか?あ...
-
条件付データ差分の抽出で
-
SQL 主キーによる自動的な表の結合
-
update文におけるwhereとjoinの...
-
グループごとの最高得点者一覧...
-
降順で並び替えて昇順で受け取...
-
SQLの作成方法
-
うまくいきません教えてくださ...
-
サブクエリを使用せずにLEFT JO...
-
現在庫算出方法についてお教え...
-
ACCESS2010 SQL 結合キーにつ...
-
UPDATEでSETする値
-
複数テーブルの結合結果を自分...
-
SQL CASE文に制御について
-
3つの表の外部結合
おすすめ情報