MySQL でディーラーごとの最低値を取得する
列 ID、名前、値、およびディーラーを持つデータベース構造の場合、次のような疑問が生じます。個々のディーラーの最小値を持つ行を取得する方法まで。 MIN() と GROUP BY を使用して解決策を試みても、満足のいく結果は得られませんでした。
解決策:
この問題を解決するには、次の 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
解決策 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 は解決策よりも大幅に高速です1.
詳細については、MySQL を参照してください。マニュアル:
https://dev.mysql.com/doc/refman/8.0/en/group-by-functions.html#function_row-number
以上がMySQL で各ディーラーの最小値を効率的に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。