mysql 最长运行时间,mysql查询找到运行时间最长的一列

I have a column in a mysql table that lists winners from a game.

I'm trying to find a query that will return the longest run of wins for each player.

Or a way to interpret a query with php.

In this case it would be

Kate 4,

Ed 1,

Mike 2,

Harry 1,

**Winner**

Kate

Kate

Ed

Harry

Ed

Harry

Mike

Mike

Ed

Harry

Kate

Kate

Kate

Kate

Ed

Apologies in advance as I am very new to all of this.

解决方案SELECT winner, MAX(winningStreak) FROM (

SELECT

winner,

IF(winner=@prev, @rownum:=@rownum+1, @rownum:=1) AS winningStreak,

@prev:=winner

FROM

yourTable

, (SELECT @prev:=NULL, @rownum:=1) vars

/*ORDER BY whateverDeterminesTheOrderOfTheWinners*/

)sq

GROUP BY winner

ORDER BY winningStreak DESC

You need another column which determines the order of the winners like you have listed them and adjust the outcommented part of the query. Apart from that this query works, but it would really be easier done in PHP.

See it live here.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值