Mysql 带顺序的SQL序列问题

Mysql 带顺序的SQL序列问题,mysql,sql,Mysql,Sql,我有以下sql SELECT @seq := IF(@win<=>win,@seq,0)+1 seq, @win := win win FROM fighterfighthistories, events where fighterid = 252 AND win IS NOT NULL AND fighterfighthistories.eventid=events.id ORDER BY events.eventon DESC, fighterfighthistorie

我有以下sql

SELECT @seq := IF(@win<=>win,@seq,0)+1 seq, 
@win := win win 
FROM fighterfighthistories, events 
where fighterid = 252 AND win IS NOT NULL AND 
fighterfighthistories.eventid=events.id 
ORDER BY events.eventon DESC, fighterfighthistories.id ASC 
但我希望它返回以下序列(seq)


正如您所看到的,一旦序列达到win=0,它就应该重新开始。如果我不使用ORDERBY语句,它是有效的,但是赢的顺序不正确。因为我需要按事件的顺序排列,所以使用两列的order BY子句将按第一列排序,第二列仅用作平分符。在你张贴的条款中

ORDER BY events.eventon DESC, fighterfighthistories.id ASC 
“eventon”列中的数据具有唯一的值,因此没有要断开的连接

这是你的数据

   seq win eventon
1   1   1   31-12-2000
2   9   1   30-12-2000
3   1   1   21-12-2000
4   2   1   11-12-2000
5   1   0   10-12-2000
6   1   0   01-12-2000
它在“eventon”列上按降序正确排序

ORDER BY events.eventon DESC, fighterfighthistories.id ASC 
   seq win eventon
1   1   1   31-12-2000
2   9   1   30-12-2000
3   1   1   21-12-2000
4   2   1   11-12-2000
5   1   0   10-12-2000
6   1   0   01-12-2000