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

未使用SET时,此SQL代码为何无法正确完成滑板车价格计算任务?

修正后的SQL实现方案

原代码存在两个核心问题:

  • 子查询中直接混用聚合函数AVG(price)与非聚合列,会触发语法或逻辑错误
  • 需求中的「整体均价」是全店所有滑板车的均价,原代码的WHERE条件会错误地将均价计算范围限制为优质滑板车,不符合要求

以下是修正后的SQL代码:

SELECT brand, AVG(adjusted_price) AS avg_price
FROM (
    SELECT 
        brand,
        price + (SELECT AVG(price) FROM scooters) AS adjusted_price
    FROM scooters
    WHERE model IS NOT NULL AND lights = TRUE
) AS filtered_scooters
GROUP BY brand
ORDER BY avg_price ASC;

关键修改说明:

  1. 用独立子查询(SELECT AVG(price) FROM scooters)获取全店所有滑板车的整体均价,确保计算范围覆盖全部商品
  2. 子查询中为符合条件的优质滑板车单独计算调整后价格adjusted_price,规避聚合函数与非聚合列的混用问题
  3. 给子查询指定别名filtered_scooters,满足多数SQL数据库对FROM子句中子查询必须有别名的语法要求
  4. 外层查询基于调整后的价格计算各品牌的平均价格,最终按avg_price升序排序

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 12:02:32