当前位置:Gxlcms > 数据库问题 > MySql 统计排名

MySql 统计排名

时间:2021-07-01 10:21:17 帮助过:4人阅读


例子:

SET @ranking=0;

select *,@ranking:=@ranking+1 AS `ranking` from table ORDER BY `members` DESC;

1. 先给用户变量 @ranking 赋值,mysql中用户变量以@开头,不用事先申明;

2. 然后按照某字段排序,返回字段中增加 如下代码:

@ranking:=@ranking+1

这样查询的结果中就包含 ranking 字段,表示当前排名。

遇到的问题:

    1. 执行语句提示语法错误,分开执行就不会出错。

    2. 数据分页

SET @ranking=当前第几页 * 每页数量;

  3. 某条记录的排名

SET @ranking=0;

select * from (select *,@ranking:=@ranking+1 AS `ranking` from table ORDER BY `members` DESC) as result where result.id = 17;

以上均为优化;



MySql 统计排名

标签:

人气教程排行