gpt4 book ai didi

mysql - 如何使用MySql搜索连续的数字

转载 作者:行者123 更新时间:2023-11-29 22:07:34 25 4
gpt4 key购买 nike

我有这样的表格

Period           ID       Amount

2015-04-01 01 500

2015-04-01 02 600

2015-05-01 01 500

2015-05-01 02 700

2015-06-01 01 700

2015-06-01 02 800

日期格式为:yyyy-MM-dd

我想在4月-6月不同时期、金额连续3个月增加的情况下选择ID。

例如,对于 ID : 02,其中数字从 600 到 700 再到 800 增加了 3 倍。对于 ID : 01 不被考虑,因为数字没有连续增加 3 次,因为对于ID : 01 从四月到五月没有增加,500 又500。

我需要的结果是选择ID,结果示例为:

ID
====
02

我真的需要帮助。几个星期以来我一直在想这个问题。谢谢您

最佳答案

这对于简单的查询来说并不容易,您将需要在 sql 中使用一些用户定义的变量来进行计算。这是一个方法

select
ID from (
select
ID,
Amount,
@rn:= if(
@prev_id = ID
and @prev_amt <> Amount
and ( timestampdiff(month,@prev_day,Period) = 1 ),
@rn+1,1) as rn,
@prev_day:= Period,
@prev_id:=ID,
@prev_amt:=Amount
from test,(select @prev_id=null,@prev_day=null,@prev_amt:=0,@rn:=1)x
order by ID,Period
)x
where x.rn = 3

http://sqlfiddle.com/#!9/68b69/3

关于mysql - 如何使用MySql搜索连续的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32006402/

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