假设在MySQL中有一个表,如下所示:
create table user(name varchar(20), join_time int(11) )
这里是我的问题:当以join_time DESC顺序获取记录时,我如何获取每条记录的排序号?
提前谢谢你。
发布于 2012-01-12 23:39:07
尝试:
select @rownum:=@rownum+1 `rank`, u.*
from (select * from `user` order by join_time desc) u,
(SELECT @rownum:=0) r 发布于 2012-01-12 23:36:00
您需要的是row_number() over (order by something),它将根据提供的order子句返回行号,但我不确定它在mysql中是否可用?
通过一些搜索发现,mysql中没有row_number函数,但有许多替代方法可以命名一个http://craftycodeblog.com/2010/09/13/rownum-simulation-with-mysql/。
https://stackoverflow.com/questions/8837642
复制相似问题