gpt4 book ai didi

php - 仅从 MySQL 数据库中选择最高分

转载 作者:行者123 更新时间:2023-11-29 07:54:49 25 4
gpt4 key购买 nike

我有一个 MySQL 语句,可以从用户表中提取前 15 个分数。

select @rownum:=@rownum+1 'rank', driverName, teamColour, totalScore, totalTime, didTyreChange from entries p, (SELECT @rownum:=0) r WHERE totalTime > 1000 and progress = 19 order by totalScore desc, totalTime asc limit 15 

条件是,玩家必须完成所有问题(进度 = 19)并且最终时间必须超过 1 秒(totalTime > 1000)。该语句还将它们的排名作为变量返回(@rownum:=@rownum+1 'rank')。

该查询的结果如下

MySQL Results

我现在想做的是将结果扩展为仅显示玩家的最高分。我查看了 DISTINCTGROUP BY,但使用以下 GROUP BY 语句获得这些结果

select @rownum:=@rownum+1 'rank', driverName, teamColour, totalScore, totalTime, didTyreChange from entries p, (SELECT @rownum:=0) r WHERE totalTime > 1000 and progress = 19 group by driverName order by totalScore desc, totalTime asc limit 15

Group by results

没有任何地方有DISTINCT,因为我收到错误代码1064。我都尝试过

select @rownum:=@rownum+1 'rank', DISTINCT(driverName), teamColour, totalScore, totalTime, didTyreChange from entries p, (SELECT @rownum:=0) r WHERE totalTime > 1000 and progress = 19 order by totalScore desc, totalTime asc limit 15 

select DISTINCT driverName, @rownum:=@rownum+1 'rank', teamColour, totalScore, totalTime, didTyreChange from entries p, (SELECT @rownum:=0) r WHERE totalTime > 1000 and progress = 19 order by totalScore desc, totalTime asc limit 15

两者都没有提供预期的结果。我想知道是否有一种简单的方法可以在语句中实现此目的,或者在 PHP 方面实现这一点。

想要的结果L

viper         1  9810
Maverick 2 25420
Racer roasty 3 28850
.. .
... 15

换句话说,任何用户都不应该在结果中出现两次,只显示每个用户最快的总时间。

在这里精简了 SQLFiddle http://sqlfiddle.com/#!2/36d3dc/7 (已达到 8000 个字符的限制)。

最佳答案

SELECT @i:=@i+1 rank, a.*
FROM
( SELECT x.*
FROM entries x
JOIN (SELECT drivername, MIN(totaltime) min_totaltime FROM entries WHERE progress = 19 AND totaltime > 1000 GROUP BY drivername) y
ON y.drivername = x.drivername
AND y.min_totaltime = x.totaltime
) a
, (SELECT @i:=0) i
ORDER
BY totalScore desc, totalTime asc;

http://sqlfiddle.com/#!2/36d3dc/17

关于php - 仅从 MySQL 数据库中选择最高分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25426312/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com