首頁 > 資料庫 > mysql教程 > 如何在MySQL中有效率地檢索每個經銷商的最低值行?

如何在MySQL中有效率地檢索每個經銷商的最低值行?

Susan Sarandon
發布: 2024-11-28 09:13:11
原創
687 人瀏覽過

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

使用MySQL 檢索多個經銷商的最低值行

在包含id、名稱、值和經銷商等列的資料庫中,您可以旨在檢索每個不同經銷商具有最低值的行。在嘗試使用 MIN() 和 GROUP BY 時,您尚未找到解決方案。

建議解決方案:

解決方案 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
登入後複製

解釋:

解 1 使用子查詢來找出每個經銷商的最小值。然後,它將這個子查詢與主表連接起來以檢索相應的行。

解決方案 2 利用自連接來有效地找到每個經銷商具有最低值的行。它使用 LEFT JOIN,檢查是否存在具有較低值的行。如果不是,則為該經銷商的最低值。

其他資訊:

這是一個常見的 MySQL 問題。請參閱此處的文件:「Rows Holding the Group-wise Maximum/Minimum of a certain Column」以了解更多詳細資訊。

以上是如何在MySQL中有效率地檢索每個經銷商的最低值行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板