MySql选择连续行中的最大行数

MySql选择连续行中的最大行数,mysql,hql,Mysql,Hql,我有这张桌子: player_id goals date 1 0 16/06 1 1 17/06 1 4 18/06 1 1 19/06 1 0 20/06 我需要的是得到连续比赛的数量,其中球员1至少进了一个球 在本例中,查询结果应类似于: player_id num_continuous_days 1

我有这张桌子:

player_id   goals   date
1           0       16/06
1           1       17/06
1           4       18/06
1           1       19/06
1           0       20/06
我需要的是得到连续比赛的数量,其中球员1至少进了一个球

在本例中,查询结果应类似于:

player_id    num_continuous_days
1            3
行的顺序是日期列。有可能在mysql中实现这一点吗

我正在使用Hibernate和HQL进行查询,如果可以使用HQL进行查询,我会怀疑这一点。如果没有其他方法,我愿意使用存储过程,而java编程逻辑是最后的衡量标准。

试试看

选择玩家id,计数*连续天数 从…起 选择玩家id、目标、日期,如果目标=0、@n:=@n+1、@n g 从表1中,选择@n:=0 n 按玩家id、日期排序 Q 其中目标>0 按玩家编号分组,g 输出:

| PLAYER_ID | NUM_CONTINUOUS_DAYS | ----------------------------------- | 1 | 3 |
这里是演示

此链接看起来可能适合您。我想把它作为一个答案,但我从来没有尝试过这个,由于时间限制,无法使它与您当前的问题相匹配。祝你好运。你可以在这里找到一些帮助:如果一个玩家在给定的时间段内有多个连续的比赛,你想要的输出是什么?我对它做了一些修改,以便只获得最大天数。很好用!谢谢