sql實現分組排序

2021-06-19 02:14:35 字數 1485 閱讀 3292

今天在公司遇到了乙個要分組排序的功能不知道怎麼實現,所以下班了想了下,大家分享了 ~~

if object_id('tempdb..#temptbl') is not null 

drop table #temptbl

create table #temptbl(

store_id varchar(4),

kind char,

sales_num int

)insert into #temptbl values('2000','a',200)

insert into #temptbl values('2000','e',524)

insert into #temptbl values('2000','f',365)

insert into #temptbl values('2222','a',478)

insert into #temptbl values('2222','e',841)

insert into #temptbl values('2222','f',152)

insert into #temptbl values('5695','a',358)

insert into #temptbl values('5695','e',150)

insert into #temptbl values('5695','f',80)

select * from #temptbl  

排序前如下:

store_id

kind

sales_num

2000

a200

2000

e524

2000

f365

2222

a478

2222

e841

2222

f152

5695

a358

5695

e150

5695f80

select a.store_id, a.kind, a.sales_num

,(select count(*) from #temptbl b where b.kind = a.kind and b.sales_num>=a.sales_num) as[rank]

from #temptbl a  

order by a.kind,[rank]

排序後如下:

store_id

kind

sales_num

rank

2222

a478

15695

a358

22000

a200

32222

e841

12000

e524

25695

e150

32000

f365

12222

f152

25695f80

3 參照

SQL分組排序

不得不承認,我腦子梗塞的很嚴重。表 gcc bloginfo blogid uid blogtitle createtime issketch checkright 1 1 hello 2010 04 01 2 1 2 1 hello2 2010 04 02 2 1 3 1 hello3 2010 ...

sql的分組排序

group by 與 order by 的使用 之前使用的時候,網上查了下 都說group by 和order by 後面的引數必須是select 中的引數,後來自己試了下,只需要是from 表中的字段都行 select id title,score,creator name name,create...

sql的分組排序

group by 與 order by 的使用 之前使用的時候,網上查了下 都說group by 和order by 後面的引數必須是select 中的引數,後來自己試了下,只需要是from 表中的字段都行 select id title,score,creator name name,create...