gpt4 book ai didi

php - 高分 - 用户的最佳时间段

转载 作者:行者123 更新时间:2023-11-29 13:34:44 25 4
gpt4 key购买 nike

我有一个表来跟踪游戏数据,以下是该表的示例:

id | player_name | date                | score | kills
1 | test1 | 2013-01-01 00:00:00 | 10000 | 200
2 | test1 | 2013-01-01 00:01:00 | 12000 | 300

我有一个玩家排行榜,它对在特定时间段内获得最多得分/击杀等的人进行排名。目前我只得到了它,以便它对过去 24 小时内的玩家进行排名。我这样做的方法是选择指定时间段内的第一条和最后一条记录,然后减去它们以获得差异。

这是我当前的查询:

SELECT  date, score FROM datapoints WHERE player_name = :player AND date = (SELECT MIN(date) FROM datapoints WHERE player_name = :player AND date > DATE_SUB(CURDATE(), INTERVAL 24 HOUR))
UNION ALL
SELECT date, score FROM datapoints WHERE player_name = :player AND date = (SELECT MAX(date) FROM datapoints WHERE player_name = :player AND date > DATE_SUB(CURDATE(), INTERVAL 24 HOUR))

减去后,我使用 PHP arsort() 函数对它们进行排序,然后将它们显示在页面上。

但是,我想添加另一个功能。我希望能够看到哪一天是用户得分/击杀数最好的一天。

我一直在考虑如何做到这一点,其中之一是使用上面的查询,但每天都有一个循环并取出最好的一天,但这可能不是很有效,我想知道,如果有更好的方法吗?

最佳答案

以下是获取任意给定日历日发生的分数变化和击杀数的方法:

select date(date) as thedate, max(score) - min(score) as DayScore,
max(kills) - min(kills) as DayKills
from datapoints dp
where player_name = :player
group by date(date);

例如,要获取分数的最高日期,您可以添加 order bylimit 子句,如下所示:

order by DayScore desc
limit 1;

关于php - 高分 - 用户的最佳时间段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18905420/

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