MYSQL获得查询记录的行号

对于获得查询记录的行号这一功能,Oracle 中可以使用标准方法(8i版本以上),也可以使用非标准的ROWNUM,MS SQL Server 则在 2005 版本中提供了ROW_NUMBER()函数。但在 MySQL 中似乎还没有这样的系统自带功能 = =!真是悲剧啊~

好在民间的力量总是强大的,我们可以自己构造一个类似的功能!

表 a:
UID Money
2 444
1 222
3 555
4 6666
想要以Money排序取得排行号:SQL文如下:

Select UID,(@rowNum:=@rowNum+1) as rowNo
From a,
(Select (@rowNum :=0) ) b
Order by a.Money Desc

输入结果如下:

UID rowNo
4 1
3 2
2 3
1 4

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。