【SQL】Mysql5.7版本实现row_number分组排序功能

本文介绍了如何在MySQL5.7版本中利用row_number函数进行数据的分组排序,详细阐述了相关操作过程及执行结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Mysql5.7 版本实现row_number分组排序功能

# 建表
drop TABLE if EXISTS test;
create table test(
	id varchar(50),
	ftime varchar(50)
);
# 插入数据
insert into test(id,ftime) values
('130','2022-09-27'),
('130','2022-09-28'),
('131','2022-09-26'),
('131','2022-09-27'),
('131','2022-09-28'),
('132','2022-09-26'),
('132','2022-09-27'),
('132','2022-09-28'),
('133','2022-09-27'),
('133','2022-09-28'),
('134','2022-09-27');

实现代码

select 
		id,ftime
		,@rn:= case when @rnid=id then @rn+1 else 1 end as num
		,@rnid:=id id2
from
 (select distinct id,ftime from test ORDER BY id,ftime desc )a
,(select @rnid:=0,@rn:=0)b 

执行结果:

idftimenumid2
1302022-09-281130
1302022-09-272130
1312022-09-281131
1312022-09-272131
1312022-09-263131
1322022-09-281132
1322022-09-272132
1322022-09-263132
1332022-09-281133
1332022-09-272133
1342022-09-271134
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值