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

SQL查询哪种配送模式延迟订单数最高,代码输出为空求排错

故障排查与修复方案

直接导致输出为空的核心错误

你在WHERE子句中使用了AND逻辑,要求同一条记录的shipment_compliance字段同时等于「UPTO 2 DAYS OF DELAY」和「BEYOND 2 DAYS OF DELAY」两个完全不同的值,不存在任何符合该条件的记录,因此查询结果为空。

其余需要修正的逻辑&语法问题

  • CASE判断逻辑存在歧义:最后一个延迟分支的判断条件Real_Shipping_Days>Scheduled_Shipping_Days可优化为Real_Shipping_Days>Scheduled_Shipping_Days + 2,明确匹配延迟超过2天的场景,避免后续调整逻辑时出现判断顺序错误。
  • 分组语法不规范:GROUP BY Shipping_Mode DESC不符合标准SQL语法,DESC是排序关键字,不能直接加在GROUP BY的字段后。
  • 缺少排序取数逻辑:要得到延迟订单最多的配送模式,需要对统计后的订单数做降序排序,再取第一条结果。

修复后的完整代码

WITH summary AS
(
SELECT 
order_id, Real_Shipping_Days, Scheduled_Shipping_Days, Shipping_Mode, order_status,
CASE WHEN order_status = 'SUSPECTED FRAUD' OR order_status = 'CANCELED' THEN 
'CANCELLED SHIPMENT'
WHEN Real_Shipping_Days < Scheduled_Shipping_Days THEN 'WITHIN SCHEDULE'
WHEN Real_Shipping_Days = Scheduled_Shipping_Days THEN 'ON TIME'
WHEN Real_Shipping_Days <= Scheduled_Shipping_Days + 2 THEN 'UPTO 2 DAYS OF DELAY'
WHEN Real_Shipping_Days > Scheduled_Shipping_Days + 2 THEN 'BEYOND 2 DAYS OF DELAY'
ELSE 'OTHERS' END AS shipment_compliance
FROM
orders
)
SELECT COUNT(order_id) as order_count, Shipping_Mode
FROM summary 
WHERE shipment_compliance IN ('UPTO 2 DAYS OF DELAY', 'BEYOND 2 DAYS OF DELAY')
GROUP BY Shipping_Mode
ORDER BY order_count DESC
LIMIT 1;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 14:15:01