最近写了一个排行榜的业务需求,联想到如何用sql写出得到排序序号。
而Oracle是可以直接拿到number的,MySQL到底要如何查询呢?
select
user_id,(@rownum:=@rownum+1) as rownum
from 表 别名 ,(select @rownum:=0) 别名
where user_type =1
order by user_id desc
这样就可以查出相应的排行值(索引值)了, 从0开始的话可以把"+1"去掉。
本文介绍了一种在 MySQL 中实现排行榜的方法,通过使用变量来为每条记录分配一个递增的序号,从而实现类似 Oracle 数据库中直接获取排序序号的功能。
最近写了一个排行榜的业务需求,联想到如何用sql写出得到排序序号。
而Oracle是可以直接拿到number的,MySQL到底要如何查询呢?
select
user_id,(@rownum:=@rownum+1) as rownum
from 表 别名 ,(select @rownum:=0) 别名
where user_type =1
order by user_id desc
这样就可以查出相应的排行值(索引值)了, 从0开始的话可以把"+1"去掉。
2万+
8093

被折叠的 条评论
为什么被折叠?