1.mysql8.0的版本才有这个函数
MySQL8.0 :
select sales_name , sum(sales) ,Row_number() OVER(ORDER BY sum( sales)DESC) as 'rank' from spm_order
group by sales_name
2.mysql5.7需要另外一种写法
MySQL5.7:
#@变量名=赋值只要使用变量必须加@@rank:=@rank + 1每查询到一条结果,就会进行+1
SET@rank= 0;
select A.* , @rank : =@rank + 1 AS rank_no from (
select sales_name , sum( sales)
from spm_order
group by sales_name
order by sum(sales) DESC)A
结果如下: