目前mysql不支持像oracle一样rownum,在网上也查找了好多,各种写法,自己进行了总结,实现方法如下

新建表:

userid

salay

zhangsan

10000

lisi

12000

wangwu

15000

现在要想以salay进行排序,并取得对应的行号,sql如下

select userid,(@rowNum:=@rowNum+1)as rowNo from user
join (select (@rowNum:=0))tmp order by salay desc

输出结果如下:

rowNo

userid

salay

1

wangwu

50000

2

lisi

12000

3

zhangsan

10000