1. ホーム
  2. sql

最小値を持つ明確な行を選択するSQLクエリ

2024-01-02 18:53:44

質問

最小値を持つ行を取得するSQL文が欲しいです。

このテーブルを考えてみましょう。

id  game   point
1    x      5
1    z      4
2    y      6
3    x      2
3    y      5
3    z      8

の中で最小値を持つidを選択するにはどうしたらよいでしょうか? point カラムに最小値を持つ ID を、ゲームごとにグループ化して選択するにはどうしたらよいでしょうか? 以下のような感じで。

id  game   point    
1    z      4
2    y      5
3    x      2   

どのように解決するのですか?

使用します。

SELECT tbl.*
FROM TableName tbl
  INNER JOIN
  (
    SELECT Id, MIN(Point) MinPoint
    FROM TableName
    GROUP BY Id
  ) tbl1
  ON tbl1.id = tbl.id
WHERE tbl1.MinPoint = tbl.Point