根据金币查询查询前50名及 当前排名及当前排名前后两名的数据
无法在代码里面使用 @rownum:=@rownum+1
所以使用储存过程
储存过程一,查询前五名
@rownum 为名次
glod 根据 glod排名
DELIMITER //
DROP PROCEDURE if EXISTS find_rank;
CREATE PROCEDURE find_rank()
BEGIN
-- 查询前50名
SELECT @rownum:=@rownum+1 AS rownum,open_id,name,icon,glod FROM (SELECT @rownum:=0) r, t_user order by glod desc limit 0,5;
END;
//
DELIMITER ;
-- 测试
Call find_rank();
结果
储存过程二,查询当前排名及前俩名+后两名
in openId VARCHAR(20)
in 表示传入参数
openId 玩家/用户 id
VARCHAR(20) 表示数据类型
@rownum 行号计算
DELIMITER //
DROP PROCEDURE if EXISTS find