You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

获取包含重复值的所有最小值方法及相关SQL查询示例

结论

你编写的SQL无法实现需求。

问题原因

你当前使用的SQL仅调用了min(ps_supplycost)聚合函数,只会返回ps_supplycost字段的最小值这单个聚合结果,既不会返回符合该最小值的完整行数据,也无法保留所有重复的最小值条目。

解决方案

方案1:子查询匹配(全数据库兼容)

通过子查询先查询出目标ps_partkey对应的最低成本,再用该值匹配所有符合条件的行,兼容性最高,适配所有SQL版本:

SELECT * 
FROM partsupp
WHERE ps_partkey = 3753
  AND ps_supplycost = (
      SELECT MIN(ps_supplycost) 
      FROM partsupp 
      WHERE ps_partkey = 3753
  );

方案2:窗口函数实现(支持MySQL8.0+、PostgreSQL、Oracle等现代数据库)

使用RANK()窗口函数对成本排序后筛选排名第一的条目,后续如果需要扩展为批量查询所有ps_partkey的最低成本条目时,仅需在窗口函数中添加PARTITION BY ps_partkey即可,扩展性更强:

SELECT *
FROM (
    SELECT *,
           RANK() OVER (ORDER BY ps_supplycost ASC) AS cost_rank
    FROM partsupp
    WHERE ps_partkey = 3753
) temp_table
WHERE cost_rank = 1;

内容的提问来源于stack exchange,提问作者travis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 00:24:03