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

SQL查询返回错误结果:状态切换后重复出现次数计数问题求助

如何修正SQL以实现状态切换后的重复计数逻辑?

我需要在下表中实现这样的计数逻辑:统计同一状态在其他状态之后重复出现的次数。具体规则如下:

  • 若状态保持不变且事件的order顺序连续,则计数不应递增;
  • 若状态发生切换后再次回到同一状态,则计数需要递增。

示例表(含预期结果)

sidstatusordernum_times_status_entered_againExpected result
1A111
1A221
1B311
1C411
1A532
1B732
1B842
1B952
1C1022
1A1143
1B1373
1B1483
1B1593
1D1611
1E1711
2A111
2A221
2B311
2B421
2A532

当前错误的SQL语句

我尝试用下面的UPDATE语句实现,但返回的结果不符合预期:

update t set num_times_status_entered_again = t1.Ncount 
from #tableZ t,
(select status count(1) OVER (Partition by status order by status) as Ncount 
from #sub_tableZ where status is not null group by status, date ) t1 
GROUP BY sid

请帮忙修正这个SQL语句,使其符合上述计数逻辑要求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 18:37:28