使用sqlserver 給每組記錄順序編號,sqlserver每組

來源:互聯網
上載者:User

使用sqlserver 給每組記錄順序編號,sqlserver每組

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


相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.