加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 12:47:18 所属栏目:MsSql教程 来源:网络整理
导读:使用sqlserver 给每组记录顺序编号 ??? 项目业务需要,给每组记录编号,方便在行转列时,正对每个人定位到具体某行;SQL Server 2005后之后,引入了row_number()函数,row_number()函数的分组排序功能使这种操作变得非常简单。示例如下: ??? 首先创建表,并

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读