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

在Metabase中运行除法逻辑SQL代码时出现报错,请求排查原因

问题排查与修正

你的SQL语句存在两个明显语法错误:

  • 第二个统计子查询中,FROM bookings后直接使用AND {{created_at}},缺少必要的WHERE关键字,SQL语法要求过滤条件必须以WHERE开头
  • 括号不匹配,第二个子查询的闭合括号缺失,同时外层的括号可以适当简化

修正后的基础版本

SELECT
  (SELECT count(*) 
   FROM `bookings`
   WHERE `bookings`.`status` = 'collect_payment'
     AND {{created_at}})
  /
  (SELECT count(*) 
   FROM `bookings`
   WHERE {{created_at}})
;

更高效的优化版本

如果数据集较大,两次扫描bookings表会影响性能,可以用条件聚合只扫描一次表:

SELECT
  SUM(CASE WHEN `status` = 'collect_payment' THEN 1 ELSE 0 END)
  /
  COUNT(*)
FROM `bookings`
WHERE {{created_at}}
;

这样写法不仅语法正确,还能减少一次全表扫描,执行效率更高。

内容的提问来源于stack exchange,提问作者Mohammad Al Mashwakhi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 01:01:14