首頁 >資料庫 >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、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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn