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

如何将SQL返回的同workitem_id多行数据合并为单行?

SQL修改方案

最终实现SQL

SELECT
  workitem_id,
  channel,
  MAX(CASE WHEN state = 'Created' THEN newimage_lastupdateddate ELSE NULL END) AS creation_date,
  MAX(CASE WHEN state = 'Disconnected' THEN newimage_lastupdateddate ELSE NULL END) AS disconnect_date
FROM work_item 
GROUP BY workitem_id, channel;

方案说明

  • 移除原SQL中的DISTINCT,改用GROUP BY对workitem_id、channel两个字段分组,确保每个唯一的工单ID+渠道组合仅返回一行结果
  • 用MAX()聚合函数包裹原有CASE判断逻辑,利用聚合函数自动忽略NULL值的特性,直接提取对应状态下的非空时间值。如果你的业务场景中同一工单的同一个状态可能存在多条记录,需要取最早的时间可以将MAX替换为MIN,可根据实际业务需求调整
  • 注意你示例结果中的diconnect_date为拼写错误,上述SQL中已修正为标准拼写disconnect_date,如果需要保留原有拼写可自行修改别名
  • 该写法兼容MySQL、PostgreSQL、Oracle、SQL Server等所有主流关系型数据库,通用性更强

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 23:15:05