MySQL - 获取最低值

aci*_*cid 7 mysql group-by

我的数据库结构包含列:id, name, value, dealer.我想检索与最低行value每一个 dealer.我一直在试图乱用MIN()GROUP BY,还是-无解.

xda*_*azz 18

解决方法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
Run Code Online (Sandbox Code Playgroud)

溶液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
Run Code Online (Sandbox Code Playgroud)

这个问题很有名,所以在Mysql的手册中有一个特殊的页面.

检查:行保持某一列的组最大/最小值