您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何使用MySQL计算最长的不败连胜?

如何使用MySQL计算最长的不败连胜?

从您的代码示例扩展而来,以下内容提供了获胜/平局。问题出在“ WHERE R.result <>RE.result”上,它总是为任何不同的结果代码分配不同的分组。在这里,我将该子句(和其他一些子句)更改为将“ W”和“ D”分组在一起以编写单个代码

SELECT result, TYPE, MIN(DATE) AS StartDate, MAX(DATE) AS EndDate, COUNT(*) AS Games 
FROM (SELECT result, TYPE, DATE, compfull, (SELECT COUNT(*) 
  FROM resultengine R 
  WHERE IF(R.result IN ('W','D'),1,0) <> IF(RE.result IN ('W','D'),1,0)
  AND R.date <= RE.date) AS RunGroup
FROM resultengine RE) A WHERE result IN ('W','D') GROUP BY IF(result IN ('W','D'),1,0), RunGroup ORDER BY Games
MySQL 2022/1/1 18:31:23 有553人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶