gpt4 book ai didi

php - 表中的 SQL/PHP 排名(行号)

转载 作者:行者123 更新时间:2023-11-28 23:31:28 25 4
gpt4 key购买 nike

我有一张马匹表,我想在马匹资料页面上显示马匹的全局排名,我的表看起来像这样。

id  name       first second third 
282 NewBreed 3 1 0
278 CueCard 1 1 0
283 TapTapBoom 1 0 0
286 Boomboom 0 0 0
285 Hoe 0 0 0
284 Boombastic 0 0 0
287 Haha 0 0 0
288 Boom 0 0 0
280 Annie 0 1 0
279 Boutan 0 1 0
281 Wahay 0 1 0
289 42r3etgf 0 0 0

例如,如果我出现在马“TapTapBoom”的个人资料中,他的全局排名将是第 3 位...我如何获得这个数字?我猜我需要在按“第一”对表格进行排序后获取行号。

SELECT *
FROM horses
ORDER BY first
DESC
SELECT row_number
WHERE name = TapTapBoom

所以在我的 PHP 中,我需要输入马的 ID 或名称,结果我得到了马的全局排名......排名是在表格按“第一”排序后马在表格中的位置按降序排列。

这是原始表格:

enter image description here

最佳答案

由于 MySQL 没有像其他 RDBMS 那样的内置行号功能,您将不得不使用变量来实现这一点:

SELECT @rank:=@rank+1 AS rank, name, runs
FROM horses, (SELECT @rank=0) vars
ORDER BY runs DESC, name

这将按 runs 降序排列,如果出现平局,它将按升序对车手姓名进行排序。

关于php - 表中的 SQL/PHP 排名(行号),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37206741/

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