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

MS Access 实现查找各组合最低成本及对应记录的查询方法

首先假设你的表名为 combo_costs,可根据实际命名替换,以下是对应需求的SQL实现:

方案1:获取各组合与对应最小成本的映射集合

使用分组聚合即可直接得到所需结果:

SELECT Combination, MIN(Cost) AS min_total_cost
FROM combo_costs
GROUP BY Combination;

查询输出示例:

Combinationmin_total_cost
34567815
45634312

方案2:获取符合最小成本要求的Combo ID集合

先通过子查询拿到每个组合的最低成本,再关联原表匹配对应记录即可:

输出合并为逗号分隔的字符串

-- MySQL语法
SELECT GROUP_CONCAT(`Combo ID` SEPARATOR ',') AS valid_combo_ids
FROM combo_costs t1
JOIN (
    SELECT Combination, MIN(Cost) AS min_cost
    FROM combo_costs
    GROUP BY Combination
) t2 ON t1.Combination = t2.Combination AND t1.Cost = t2.min_cost;

不同数据库的字符串拼接函数差异:

  • PostgreSQL / SQL Server:替换GROUP_CONCAT为STRING_AGG("Combo ID", ',')
  • Oracle:替换为LISTAGG("Combo ID", ',') WITHIN GROUP (ORDER BY "Combo ID")
    同时注意带空格的字段名转义规则:MySQL用反引号、PostgreSQL用双引号、SQL Server也可用方括号[Combo ID]

输出逐行展示单个Combo ID

只需修改SELECT语句即可:

SELECT t1.`Combo ID`
FROM combo_costs t1
JOIN (
    SELECT Combination, MIN(Cost) AS min_cost
    FROM combo_costs
    GROUP BY Combination
) t2 ON t1.Combination = t2.Combination AND t1.Cost = t2.min_cost;

输出结果为:1、2、4,逐行返回。

内容的提问来源于stack exchange,提问作者Chris Y.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 01:39:03