ホームページ >データベース >mysql チュートリアル >結合を使用して SQL で最小値を持つ個別の行を検索する方法
sqlクエリ最適化:最小値で一意の行を取得
このガイドは、特定の列から最小値を含む一意の行を抽出するための効率的なSQL手法を示しています。 これは多くの場合、グループ化されたデータを扱うときに必要であり、結合とフィルタリングの組み合わせが必要です。次のサンプルテーブルを検討してください:
目的は、それぞれの一意の
<code class="language-sql">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
次のSQLクエリはこれを達成します:
<code class="language-sql">id game point 1 z 4 2 y 6 3 x 2</code>
クエリの内訳:
<code class="language-sql">SELECT tbl.* FROM TableName tbl INNER JOIN ( SELECT game, MIN(point) AS min_point FROM TableName GROUP BY game ) AS tbl1 ON tbl1.game = tbl.game AND tbl1.min_point = tbl.point;</code>内側の結合:
TableName
subquery:tbl
これは、tbl1
を使用して一意の各の最小point
。
game
MIN(point)
句の上:game
結合条件により、メインテーブルとサブクエリ間の一致がgame
とpoint
の列のみが含まれていることが保証されます。 これにより、各以上が結合を使用して SQL で最小値を持つ個別の行を検索する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。