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

按payment_id分组查询未重试报错交易结果错误的问题排查

问题原因分析
  • SQL逻辑顺序错误:WHERE子句会先把所有message不属于指定错误类型的记录全部过滤掉,payment_id为84530的第二条success记录直接被排除在统计范围外,你统计的count(payment_id)实际是该ID的错误记录数,不是该ID的总交易次数,才会出现错误的统计结果。
  • 存在拼写错误:WHERE子句中的Unavaialble拼写错误,正确应为Unavailable,会导致这类错误无法被正常匹配。
正确SQL写法

符合需求的逻辑是:筛选满足「存在至少一条需重试的错误记录、且不存在任何成功交易记录」的payment_id,正确SQL如下:

SELECT payment_id, COUNT(*) AS total_trade_times
FROM paymentstbl
GROUP BY payment_id
HAVING 
-- 存在至少1条需重试的错误记录
SUM(CASE WHEN message IN ('timeout', 'disconnected','unknown', 'Unavailable') THEN 1 ELSE 0 END) >= 1
-- 没有任何成功记录,说明未完成重试
AND SUM(CASE WHEN message = 'success' THEN 1 ELSE 0 END) = 0

执行后只会返回payment_id为23930的结果,符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 16:24:03