今天在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;
查询结果:
如需增加序号一列,可按如下方式改写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;
查询结果如下:
其中@rank 是 用户自定义的变量,:=是赋值的作用。