ホームページ > データベース > mysql チュートリアル > SQLで最小値を持つ個別の行を取得するにはどうすればよいですか?

SQLで最小値を持つ個別の行を取得するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-24 08:17:08
オリジナル
194 人が閲覧しました

How to Retrieve Distinct Rows with the Minimum Value in SQL?

SQL を使用した最小値を持つ一意の行の抽出

SQL クエリでは、定義された条件に基づいて特定の行を選択することがよくあります。 一般的なシナリオは、一意の行のみが返されるようにしながら、列内の最小値を持つ行を取得することです。

このサンプルテーブルで説明してみましょう:

<code>id | game | point
-------+--------+--------
1  | x    | 5
1  | z    | 4
2  | y    | 6
3  | x    | 2
3  | y    | 5
3  | z    | 8</code>
ログイン後にコピー

id の最小の point 値を持つ game を取得するには、サブクエリと内部結合を使用できます。サブクエリは、各 point の最小 id を識別します:

<code class="language-sql">SELECT Id, MIN(Point) AS MinPoint
FROM TableName
GROUP BY Id</code>
ログイン後にコピー

このサブクエリは、id とそれぞれの最小 point 値を生成します。 次に、メイン クエリはこの結果を元のテーブルと結合し、最小ポイントに一致する行をフィルタリングします。

<code class="language-sql">SELECT tbl.*
FROM TableName tbl
INNER JOIN (
    SELECT Id, MIN(Point) AS MinPoint
    FROM TableName
    GROUP BY Id
) tbl1 ON tbl1.id = tbl.id
WHERE tbl1.MinPoint = tbl.Point;</code>
ログイン後にコピー

クエリの出力:

<code>id | game | point
-------+--------+--------
1  | z    | 4
3  | x    | 2
2  | y    | 6</code>
ログイン後にコピー

このメソッドは、各 point の最小 id 値を含む一意の行を効果的に返し、後続の分析にクリーンなデータセットを提供します。

以上がSQLで最小値を持つ個別の行を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート