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

使用JOIN获取最低值失败:如何查询id=1的商品最低售价?

获取指定商品的最低价格实现方案

要获取info表中id=1的商品对应的最低在售价格,可通过关联两张数据表并使用聚合函数实现,以下是两种可行的SQL方案:

方案一:关联后直接聚合

SELECT 
    i.id,
    i.name,
    MIN(s.price) AS price
FROM 
    info i
JOIN 
    sell_info s ON i.id = s.product_id
WHERE 
    i.id = 1
GROUP BY 
    i.id, i.name;

语句说明:

  • 使用JOIN关联info(别名i)和sell_info(别名s),关联条件为商品id与在售记录的product_id匹配
  • WHERE i.id = 1精准筛选目标商品
  • MIN(s.price)计算该商品的最低在售价格
  • GROUP BY i.id, i.name确保按商品维度聚合,返回单条商品记录及对应最低价格

方案二:子查询预计算最低价格

SELECT 
    i.id,
    i.name,
    s_min.min_price AS price
FROM 
    info i
JOIN (
    SELECT 
        product_id,
        MIN(price) AS min_price
    FROM 
        sell_info
    WHERE 
        product_id = 1
    GROUP BY 
        product_id
) s_min ON i.id = s_min.product_id
WHERE 
    i.id = 1;

语句说明:

  • 子查询先针对product_id=1的在售记录计算最低价格,缩小数据处理范围
  • 再将子查询结果与info表关联,获取商品的基本信息
  • 该方案在数据量较大时性能更优,避免全表关联计算

预期执行结果

idnameprice
1ABC3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 07:55:39