目前mysql不支持像oracle一样rownum,在网上也查找了好多,各种写法,自己进行了总结,实现方法如下
新建表:
userid | salay |
---|---|
zhangsan | 10000 |
lisi | 12000 |
wangwu | 15000 |
现在要想以salay进行排序,并取得对应的行号,sql如下
select userid,(@rowNum:[email protected]+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 |