使用sqlserver 给每组记录顺序编号
项目业务需要,给每组记录编号,方便在行转列时,正对每个人定位到具体某行;sql Server 2005后之后,引入了row_number()函数,row_number()函数的分组排序功能使这种操作变得非常简单。示例如下:
首先创建表,并录入测试数据。
create table test_001(
user_id varchar(32),
price decimal(10,0)
)
insert into test_001 values('001',4000);
insert into test_001 values('001',3900);
insert into test_001 values('001',3800);
insert into test_001 values('002',4000);
insert into test_001 values('002',3800);
insert into test_001 values('002',3700);
执行如下语句,给每组数据进行重新编号;
select ROW_NUMBER() over(PARTITION by user_id order by price desc) sort_num,USER_ID,price
from test_001
order by USER_ID,price desc
结果如下:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。