mysql row_number()与5.6版本不支持row_number()功能的方法

在本地使用row_number()没有问题,但是去服务器上面查询数据得时候发现查询不了,因为服务器版本的mysql是5.6的,暂不支持row_number()功能,但是又需要用户分组后按时间排序获得编号的数据。解决方法如下

-- mysql自带的row_number()的分组内排序
select *,row_number() over(partition by userID order by date desc) from  aa;

-- 解决方案
select (@i :=case when @userID= userID then @i + 1 else 1 end ) as rownum,p.*,(@userID:= userID)
FROM aap,(select @i := 0 )as a
GROUP BY userID,id
order by userID

猜你喜欢

转载自blog.csdn.net/zhongzih/article/details/112528301