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
    )
最后修改:2020 年 11 月 27 日
如果觉得我的文章对你有用,请随意赞赏