【发布时间】:2019-07-10 06:58:05
【问题描述】:
我在选择连续记录时遇到问题,我想我已经指出了问题所在。我认为这与 id 字段的跳转有关。
我在这里设置了一些示例数据: https://www.db-fiddle.com/f/fqSixe8TBPu7s7Ko22ySmr/0
基本上,我使用以下代码返回玩家最大连续获胜次数:
set @player=0, @count=0;
select max(@count := if(outcome = 2 and player = 785, @count+1, 0))
from cc6_MensLeague_rounds use index(maxcon);
上述样本数据中的结果是13(应该是24)。
它适用于大多数玩家,但我在选择少数玩家时得到了意想不到的结果。在四处挖掘之后,我注意到它可能是某些记录的 id 字段的跳跃。我需要以某种方式忽略这些差距。
如果有人有解决方案,或者可以为我指出正确的方向,那就太好了。
谢谢。
【问题讨论】:
-
你为什么选择 1 和 2,而不是更传统的 0 和 1?
-
顺便说一下,你可以用十几行而不是 1000 行来有效地说明这个问题。:-(
-
嗨 Strawberry,出于简单的原因,我只是将数据转储到 db-fiddle.com 中,以便我使用数据库中完全相同的数据。至于使用 1 和 2 而不是 0 和 1。我对 MySQL 有点陌生,当我最初制作 DB 时,当时并没有真正考虑过。