gpt4 book ai didi

php - 模拟搜索并获取返回行的行号(从总数中)

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

我是 MySQL 的初学者,几个小时以来一直在寻找这个问题的解决方案。我找到了一些答案,但似乎无法实现它们。

基本上,这就是我想做的:

我想了解来自给定国家/地区的用户在按 ID 排名时与来自同一国家/地区的其他用户相比排名如何

例如:
Joe 的 ID 为 10,来自美国
有 100 位来自美国的用户
结果:乔排名第十

如何将其转换为 MySQL 查询?

提前谢谢您。

最佳答案

创建 2 个用户变量,例如,runningprevious,获取之前的排名数,并相应地计算 country 的排名数:将当前值增加 1。

select u.id,u.country,u.rank 
from (
select u1.id,u1.country,
@running:=if(@previous=concat(u1.id,u1.country),@running,0) + 1 as rank,
@previous:=concat(u1.id,u1.country)
from tablename u1
order by concat(t.id,t.country)
) u;

tablename 替换为您的表格

关于php - 模拟搜索并获取返回行的行号(从总数中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42172559/

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