Mysql排序增加序号列

今天在Mysql数据库查询数据并进行排序时,感觉没有序号查看排序结果不够直观。示例如下:

--查询部分城市2019年GDP排名
select t.city,t.gdp,t.`year` from city_gdp t where t.`year`='2019' group by t.city,t.gdp,t.`year` order by t.gdp desc;

查询结果: 

Mysql排序增加序号列_第1张图片

 如需增加序号一列,可按如下方式改写sql:

--查询部分城市2019年GDP排名
select @rank:=@rank + 1 AS num,a.* from
(select t.city,t.gdp,t.`year` from city_gdp t where t.`year`='2019' group by t.city,t.gdp,t.`year` order by t.gdp desc) a,
(SELECT @rank:= 0) b;

查询结果如下:

Mysql排序增加序号列_第2张图片 

其中@rank 是 用户自定义的变量,:=是赋值的作用。

你可能感兴趣的:(MySQL)