我在游戏中使用mysql创建了一个排行榜,用于存储用户详细信息和分数。现在我想根据他的详细信息检索用户的排名。如果我按照此网站rank query的建议使用查询,我会收到结果。
但它有一个问题。排名别名是tinyint类型,它只给出排名最多255,之后它只是将排名返回为0.我想键入将其转换为整数,以便该查询能够返回更高值的排名。我使用了CAST,但它给出了错误。
这是返回排名':
的查询SELECT id, name, score,
FIND_IN_SET(score,(SELECT GROUP_CONCAT( score ORDER BY score DESC )
FROM scores ) ) AS rank
FROM scores
WHERE name = 'Assem'
请帮忙解决这个问题。 感谢
我尝试将其转换为
SELECT name, FIND_IN_SET( score, (
SELECT GROUP_CONCAT( score
ORDER BY score DESC )
FROM hiscores )
) AS CAST(rank as UNSIGNED)
FROM hiscores
WHERE phone = '$phone'
;
和
SELECT name, CAST (FIND_IN_SET( score, (
SELECT GROUP_CONCAT( score
ORDER BY score DESC )
FROM hiscores )
) as UNSIGNED) AS rank
FROM hiscores
WHERE phone = '$phone'
;
但两者都有错误