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

求SQL查询语句:将ticket_audit表汇总为指定聚合表

解决方案

可以使用条件聚合实现需求,通过GROUP BY按工单ID分组,结合SUM(CASE...)分别计算不同状态的总时长,同时用MIN(datetime)获取每个工单的最早时间戳:

SELECT
    MIN(datetime) AS datetime,
    agent,
    ticket_id,
    SUM(CASE WHEN status = 'waiting' THEN duration ELSE 0 END) AS waiting_duration,
    SUM(CASE WHEN status = 'respond' THEN duration ELSE 0 END) AS respond_duration,
    SUM(CASE WHEN status = 'validation' THEN duration ELSE 0 END) AS validation_duration
FROM ticket_audit
GROUP BY ticket_id, agent
ORDER BY datetime;

语句说明

  • MIN(datetime):提取每个ticket_id对应的最早时间戳,匹配输出要求。
  • GROUP BY ticket_id, agent:由于每个工单的处理代理唯一(示例数据可见),同时按这两个字段分组,保证每个工单仅返回一行结果。
  • SUM(CASE...):通过条件判断,仅当状态匹配时累加duration,否则计入0,直接处理了部分工单无对应状态的场景,避免返回NULL。
  • ORDER BY datetime:按工单最早时间排序,与示例输出顺序一致。

验证结果

将上述语句应用到提供的ticket_audit表中,会得到与期望完全一致的输出:

datetimeagentticket_idwaiting_durationrespond_durationvalidation_duration
9/1/24 5:47:43 PMjohn100181115
9/1/24 5:47:48 PMmary100274553
9/2/24 12:04:39 AMdave1003103954
9/2/24 12:04:39 AMjohn10041800
9/2/24 12:04:39 AMmary100511150

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 11:06:12