国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > 数据库 > 数据库应用 > 使用sqlserver 给每组记录顺序编号

使用sqlserver 给每组记录顺序编号

来源:程序员人生   发布时间:2015-04-21 08:42:05 阅读次数:2984次

使用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
结果以下:


生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生