我有一种情况,我必须在前 10 条记录中识别 5 条或更多连续记录。我在下面给出了2个例子:
示例1如下
SL User Number Frequency
1 aaa 9.95 1
2 aaa 9.85 1
3 aaa 9.75 1
4 aaa 9.65 1
5 aaa 9.55 1
6 aaa 9.45 1
7 xxxx 9.35 1
8 bbbb 9.25 1
9 cccc 9.15 1
我想要一个可以获取记录 5 和 6(属于用户 aaa 的数字 9.55 和 9.45 并将频率更新为 2 而不是 1)的查询。
示例2如下
SL User Number Frequency
1 xxxx 9.95 1
2 aaa 9.85 1
3 aaa 9.75 1
4 aaa 9.65 1
5 aaa 9.55 1
6 aaa 9.45 1
7 xxxx 9.35 1
8 bbbb 9.25 1
9 cccc 9.15 1
查询应该只获取记录 6(属于用户 aaa 的编号 9.45,并且更新频率为 2 而不是 1)。
查询应选取用户前 9 个位置的任意位置出现 5 个或更多连续记录的记录,并将第 4 个位置之后的位置的频率标记为 2。
约束:此查询通过 php.ini 中的 ajax 每 2 秒执行一次。所以我真的不想要一个使用大量cpu的复杂连接/联合查询。我可以选择在 php 中执行此操作,将其分解为 2 个或更多较小的查询,但更喜欢不加载 cpu 或数据库的单个查询。如果单个查询可能会加载 cpu,我可以使用 2-3 个查询,因为处理发生在 php.ini 中。
您能否告知如何实现这一目标?