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

MySQL で各ディーラーの最小値を持つ行を取得するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-04 07:54:15262ブラウズ

How to Retrieve Rows with the Minimum Value for Each Dealer in MySQL?

MySQL: 各ディーラーの最小値を持つ行の取得

当面のタスクには、各個別の最小値を持つ行をフェッチすることが含まれますID、名前、値などの列を含むデータベース テーブルからディーラーを取得します。

戦略:

この問題を解決するには、以下に 2 つの解決策を示します:

解決策 1:

SELECT t1.*
FROM your_table t1
JOIN (
    SELECT MIN(value) AS min_value, dealer
    FROM your_table
    GROUP BY dealer
) AS t2 ON t1.dealer = t2.dealer AND t1.value = t2.min_value

この解決策は、まず MIN() を使用して各ディーラーの最小値を見つけ、グループ化。次に、ディーラー列と min_value 列の INNER JOIN を使用して、この結果を元のテーブルと結合します。

解決策 2(推奨):

SELECT t1.*
FROM your_table t1
LEFT JOIN your_table t2
ON t1.dealer = t2.dealer AND t1.value > t2.value
WHERE t2.value IS NULL

解決策2 では、LEFT JOIN を使用して、同じディーラーでより高い値を持つ行が存在しない行を検索します。その結果、各ディーラーの最低値を持つ行が生成されます。

重要な注意事項:

Mysql のドキュメントには、この特定の問題に関する専用のページがあります。「Rows Holding the特定の列のグループごとの最大値/最小値」。追加情報と代替アプローチについては、このページを参照してください。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。