gpt4 book ai didi

php - 从某个阶段和级别获取分数列表

转载 作者:太空宇宙 更新时间:2023-11-03 12:00:00 25 4
gpt4 key购买 nike

对于我的游戏,我试图包含一个在线评分系统。为了让我的分数系统正常工作,我想从我的数据库中获取分数列表。但是由于我对 mysql 语句没有那么丰富的经验,所以我不知道如何编写我想要的查询。

我的表结构:http://prntscr.com/6z45bv

在我的查询中,我想返回我的表“scores”中的所有列

    SELECT * from scores

仅在 php 中通过 GET 请求给出阶段和级别

    WHERE stage = [number] AND level = [number]

根据我的要求,我想从所有设备中获得最高的单项分数,从高到低排序。设备存储在“deviceid”列中

设备的最高分是最高数量的“爆炸点”(降序)和最高数量的“时间”(降序)。爆炸点数量最多的地方最重要。

这是我想要的结果的示例:

    id, name,      stage,  level,  blastpoints,  time, badge, deviceid

5, "bob" 2 3 5 7123 true "asdakjhe"
1, "rick" 2 3 5 6321 false "3jkhasdl3"
8, "melissa" 2 3 4 8565 false "nlk43h2l"
2, "steven" 2 3 4 5678 true "342jhlad"
3, "freddy" 2 3 3 6721 false "1lk23jl1"
7, "hank" 2 3 2 5600 false "41asdg42"

在这个例子中,我检索了第 2 阶段第 3 级的分数。正如您所看到的爆炸点在下降,它只找到单个设备 ID 的最高分数。

分数设置为具有特定deviceid的玩家可以在表中上传任意数量的分数。

希望我提供了足够的信息,如有其他问题,请发表评论。提前致谢。

最佳答案

在 SQL 中,您可以使用 ORDER BY 对结果进行排序。在这种情况下,因为您需要:

ORDER BY blastpoints DESC, time DESC

我们使用 DESC 进行降序排列。这样最大的分数就会出现在顶部。您在 ORDER BY 中指定列名的顺序也很重要,这就是为什么我们根据您的要求首先指定 blastpoints,然后指定 time例子。您可以在 ORDER BY 上阅读更多内容,也是。

综合起来:

SELECT * FROM scores
WHERE stage = [number] AND level = [number]
ORDER BY blastpoints DESC, time DESC

关于php - 从某个阶段和级别获取分数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29919836/

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