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

SQL实现购车订单总额超40000美元的用户及订单数查询

SQL错误修正与正确实现

原SQL存在的核心问题

  • 漏关联中间表CarOrders:现有表结构中Orders和Cars无直接外键关联,必须通过CarOrders才能映射订单和对应车型、购车数量,原写法直接关联Orders和Cars逻辑完全不成立
  • 语法错误:JOIN子句后多余逗号、标准SQL中等值判断使用=而非==、外层JOIN关联条件写为c.UserID = c.UserID属于无效自比较,无法正确关联用户表
  • 逻辑错误:AmountOfCars字段归属CarOrders表,原SQL从Orders表取数字段不存在;金额阈值错写为20000,不符合需求要求的40000标准;未统计用户的订单数量,且SELECT *不符合指定返回格式

修正后的可运行SQL

SELECT 
    u.Name,
    c.order_count AS `Number`
FROM Users u
INNER JOIN (
    SELECT
        o.UserID,
        SUM(co.AmountOfCars * ca.Price) AS total_spent,
        COUNT(DISTINCT o.OrderID) AS order_count
    FROM Orders o
    INNER JOIN CarOrders co
        ON o.OrderID = co.OrderID
    INNER JOIN Cars ca
        ON co.CarID = ca.CarID
    GROUP BY o.UserID
    HAVING total_spent > 40000
) c
ON u.UserID = c.UserID;

逻辑说明

  • 关联链路为Users -> Orders -> CarOrders -> Cars,完全匹配现有表结构的外键关系
  • 金额计算严格按照购车数量 * 对应车型单价逐行累计,同一用户多订单、同订单多车型/多购车量都会被正确核算
  • 用COUNT(DISTINCT OrderID)统计用户的有效订单数,避免关联多车型行导致的订单计数重复问题
  • 最终返回字段为用户姓名、对应订单数,完全匹配要求的(Users.name, Number)格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 23:48:20