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

按user_id统计订单总数、取消单量及二者比值的SQL实现问题

SQL查询修正方案

现有代码问题

  • 取消订单统计条件错误:将已送达状态判定为取消,与实际需求相反
  • 未返回分组字段user_id,输出缺少用户ID列
  • 表名、列名配置错误:目标统计表为orders_table,且表内字段均带_column后缀,与现有代码中的字段名不匹配
  • 缺少取消订单占比的计算逻辑

修正后可运行代码

SELECT 
    user_id_column AS user_id,
    COUNT(orders_id_column) AS total_orders,
    SUM(IF(final_status_column = 'CanceledStatus', 1, 0)) AS canceled_orders,
    ROUND(
        CAST(SUM(IF(final_status_column = 'CanceledStatus', 1, 0)) AS DECIMAL) / NULLIF(COUNT(orders_id_column), 0),
        2
    ) AS cocient
FROM orders_table
GROUP BY user_id_column;

代码说明

  • 字段名完全匹配给定的orders_table结构,避免不存在报错
  • 用NULLIF(COUNT(orders_id_column), 0)处理无订单场景下的除以零异常
  • 通过CAST将整数转换为小数类型,避免整数除法直接取整的问题
  • 用ROUND函数保留两位小数,输出格式与需求完全一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 21:06:01