今天在公司遇到了乙個要分組排序的功能不知道怎麼實現,所以下班了想了下,大家分享了 ~~
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...