首页 > 数据库 > mysql教程 > 如何在MySQL中高效检索每个经销商的最小值?

如何在MySQL中高效检索每个经销商的最小值?

DDD
发布: 2024-11-29 11:26:11
原创
107 人浏览过

How to Efficiently Retrieve the Minimum 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
登录后复制

注意:解决方案 2 比解决方案快得多1.

更多详情请参考MySQL手册:

https://dev.mysql.com/doc/refman/8.0/en/group-by-functions.html#function_row-number

以上是如何在MySQL中高效检索每个经销商的最小值?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板