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

SQL查询:统计促成客户会面的通话报备记录总数量

解决方案

实现思路

我们需要统计每个用户提交的通话报备(type=1)中,后续存在同一个客户的会面报备(type=2)的总条数,核心逻辑是校验同用户、同客户下是否存在时间更晚的会面报备。推荐使用EXISTS子查询实现,性能更优,也不会出现重复计数的问题。

可直接运行的SQL代码

SELECT 
    r1.user_id,
    COUNT(r1.id) AS valid_call_report_count
FROM reports r1
WHERE r1.type = 1
AND EXISTS (
    SELECT 1 
    FROM reports r2
    WHERE r2.user_id = r1.user_id
      AND r2.customer_id = r1.customer_id
      AND r2.type = 2
      AND r2.created_at > r1.created_at
)
GROUP BY r1.user_id
ORDER BY r1.user_id;

结果说明

针对你提供的示例数据,上述SQL的运行结果和预期完全一致。如果需要把没有符合条件记录的用户也展示出来(比如用户2显示计数为0),可以使用以下调整后的SQL:

SELECT 
    u.user_id,
    SUM(CASE WHEN EXISTS (
        SELECT 1 
        FROM reports r2
        WHERE r2.user_id = r1.user_id
          AND r2.customer_id = r1.customer_id
          AND r2.type = 2
          AND r2.created_at > r1.created_at
    ) THEN 1 ELSE 0 END) AS valid_call_report_count
FROM (SELECT DISTINCT user_id FROM reports) u
LEFT JOIN reports r1 ON u.user_id = r1.user_id AND r1.type = 1
GROUP BY u.user_id
ORDER BY u.user_id;

运行后结果:

user_idvalid_call_report_count
13
20

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 17:36:05