dbdao吧 关注:1,186贴子:4,073
  • 3回复贴,共1

mysql如何对以下数据查score

只看楼主收藏回复

如何查
mysql> select * from score;
+------+------+
| id | win |
+------+------+
| 1 | 1 |
| 1 | 1 |
| 1 | 0 |
| 1 | 1 |
| 2 | 0 |
| 2 | 1 |
| 2 | 1 |
| 2 | 1 |
| 2 | 0 |
| 3 | 1 |
| 3 | 0 |
+------+------+
11 rows in set (0.00 sec)


IP属地:上海1楼2015-11-06 12:48回复
    win列连续的最大次数(1,胜,0 负)
    id win
    1 2
    2 3
    3 0


    IP属地:上海2楼2015-11-06 12:49
    回复
      回答:
      mysql> set @old=0;
      mysql> set @winc=0;
      mysql>select t.id, t.win, max(t.winc) from (select id, win, if(((@old=win or @old=0) and win=1),@winc:=@winc+1,@winc:=0) as winc, @old:=win as old from tab1) t
      where t.winc<>0
      group by t.id, t.win;
      有前提,id必须像你提供的id顺序不混杂,且每个id的场次时间顺序先后顺序排好。


      IP属地:上海3楼2015-11-06 12:49
      回复
        得到答案:



        IP属地:上海6楼2015-11-07 11:15
        回复