gpt4 book ai didi

php/mysql - 如何获得用户排名?

转载 作者:行者123 更新时间:2023-11-29 05:43:27 26 4
gpt4 key购买 nike

例如我有一个这样的表:

name   ratingmatei     124andrei     20serj       25john      190mike       96andy      245tom        73

我需要输出这样的东西(按等级排序):

john的位置是2;或者,tom 的位置是 5; (我不需要得到所有结果,只需要一个)

我怎样才能做到这一点?

提前致谢

最佳答案

通常,MySQL 不保证查询结果中的行顺序,除非使用 ORDER BY 子句明确指定顺序。如果您有一些单独的排序列,您可以使用如下查询:

SELECT count(1) as position
FROM table
WHERE order_column <= {john's order_column value};

如果您没有排序栏,我建议您先定义“约翰的位置”和“汤姆的位置”是什么意思。

更新:AFAIU,您想在按评级排序的列表中获得位置(抱歉,我最初没有得到)。因此,评级将是您的 order_column。在这种情况下,您应该决定,如果两个人的评分相同(谁的排名更高?),您如何计算排名。

因此,查询可能看起来像下面这样:

SELECT count(1) as position
FROM table
WHERE
rating > (SELECT rating FROM table WHERE id={user's ID});

关于php/mysql - 如何获得用户排名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4669134/

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