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