gpt4 book ai didi

mysql - 如何计算满足特定条件的行的最大出现次数

转载 作者:行者123 更新时间:2023-11-29 00:03:33 24 4
gpt4 key购买 nike

我需要计算满足特定条件的最大行序列。例子是这样的:

time    | value
10:00:01| 0
10:00:02| 0
10:00:03| 1
10:00:04| 0
10:00:05| 0
10:00:06| 0
10:00:07| 1
........| .....

我希望查询返回不被 1 打断的 0 的最大出现次数。在上面的示例中,它将返回 3。

有没有办法在sql中做到这一点?谢谢。

最佳答案

您可以使用变量来枚举顺序值。然后使用order bylimit得到最大的序号:

select t.*
from (select t.*,
(@rn := if(@v = value, @rn + 1,
if(@v := value, 1, 1)
)
) as seqnum
from table t cross join
(select @v := -1, @rn := 0) vars
order by time
) t
where value = 0
order by seqnum desc
limit 1;

关于mysql - 如何计算满足特定条件的行的最大出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28563505/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com