青阳のblog-一个计算机爱好者的个人博客

mysql 查询结果增加自动递增的一列,排名,排序

mysql中有时候需要对查询的结果排序,比如根据成绩获取排名信息等,需要增加一个自增的列,也就是排名信息

1 set @rank=0;
2 SELECT a.*, @rank:= @rank+1 as sortid FROM a;

如果不支持写两条sql,可以用以下写法合成一条sql

SELECT
    tmp.*,@rank :=@rank + 1 AS rank
FROM
    (
        (SELECT * FROM a) tmp,
        (SELECT @rank := 0) b
    )

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »