在mySQL中将结果的数字索引顺序显示为附加列
第一个q永远呜呜 我有一个包含数据的mySQL表在mySQL中将结果的数字索引顺序显示为附加列,mysql,sql-order-by,Mysql,Sql Order By,第一个q永远呜呜 我有一个包含数据的mySQL表 **username** **score** Count Joe 278 Count Joe 255 Count Joe 298 Count Joe 289 我在显示以下结果集时遇到问题: **RANK** **USERNAME** **SCORE** 1 Count Joe 255 2 Count Joe 278 3 Count Joe 289 4 Count
**username** **score**
Count Joe 278
Count Joe 255
Count Joe 298
Count Joe 289
我在显示以下结果集时遇到问题:
**RANK** **USERNAME** **SCORE**
1 Count Joe 255
2 Count Joe 278
3 Count Joe 289
4 Count Joe 298
目前它正在返回
**RANK** **USERNAME** **SCORE**
1 Count Joe 255
22 Count Joe 278
32 Count Joe 289
18 Count Joe 298
使用
设置@ROW=0;
选择@ROW:=@ROW+1作为排名、用户名、按用户名排序的游戏组总得分和总ASC限制10
上面的查询似乎返回了索引位置或查询表中的用户。您希望的输出是什么?如果在查询之前将@row初始化为0,您的查询将在结果集中放置伪行号-这不是您想要的吗?@DMac刚刚编辑了它。忘记把它添加到代码中了。嗨,托尼。Thanx对于答案,很遗憾,它返回的结果集与我的查询相同。我更新了这个问题,让它更具描述性。编辑了答案。试试看。
SELECT @curRow := @curRow + 1 AS rank, s1.*
FROM
(
SELECT username, score
FROM scores
GROUP BY username ORDER BY score ASC LIMIT 10
) AS s1
JOIN (SELECT @curRow := 0) r