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

MySQL CASE语句实现合理分桶:I/OA事件隔离与EquipID老化计算求助

问题重发求助

本次重新提交问题寻求帮助,目前仍未找到可行的解决方案。
当前已经可以独立筛选出仅含“OA”的场景,并将其正确标记为NA,但遇到两个核心问题:

  • 无法隔离仅含“I”的事件
  • 无法正确计算同时存在I和OA事件的EquipID的老化时长

现有实现逻辑

当前使用的老化计算逻辑对仅含“I”的事件适配性良好,但始终无法正确隔离同时包含I、OA事件的EquipID,也无法获取两个事件的日期差值,对应SQL计算语句为:
datediff(curdate(),concat(left(eventDateTime,4),'-',mid(eventDateTime,5,2),'-',mid(eventDateTime,7,2))) as age_in_depot

之前尝试按EquipID分组,但该操作只会返回一个eventDateTime结果,且始终为第一条记录的时间——对于同时包含“I”和“OA”的场景,仅能获取到“I”事件的eventDateTime。
目前也具备识别“I”和“OA”事件的逻辑,但该逻辑仅适用于将EquipmentID合并为单行的场景,这种合并方式会丢失计算这类EquipID老化时长所需的第二个eventDateTime条目,对应逻辑代码为:
GROUP_CONCAT( DISTINCT StatusCD) as StatusCD

参考数据样例

查询返回的示例数据如下图所示:
查询返回数据示例

如果能获得相关思路或解决方案将不胜感激。只要完成仅含“I”事件的标记与老化计算逻辑,就能最终完成正在为团队搭建的仪表板。提前致谢。


内容的提问来源于stack exchange,提问作者Venture-MTB

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.24 01:54:02