MySQL:檢索每個經銷商具有最低值的行
目前的任務涉及取得每個不同經銷商具有最低值的行包含id、name、value等列的資料庫表中的經銷商
策略:
解決這個問題,有兩種解決方案:
方案一:
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()找到每個經銷商的最小值,然後分組依據。然後,它使用 Dealer 列和 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中文網其他相關文章!