首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

这个sql如何写

2012-01-14 
这个sql怎么写简单的说一个表根据id将数量groupby以后我想得到数量的排名比如id数量排名110012502[解决办

这个sql怎么写
简单的说   一个表     根据id将数量   group   by以后   我想得到数量的排名

比如  
id     数量     排名
1       100       1
2       50         2

[解决办法]

create table #t(id int,数量 int)

insert into #t select 1,100
insert into #t select 2,50


select * from #t

--用子查询
select *,(select count(*) from #t where 数量> =A.数量) as 名次
from #t as a
order by id

drop table #t

[解决办法]

create table #t(id int,数量 int)

insert into #t select 1,100
insert into #t select 2,50


select * from #t

--用子查询
select *,(select count(*)+1 from #t where 数量> A.数量) as 名次
from #t as a
order by id

drop table #t
[解决办法]
select
id,
数量,
排名=(select
count(1)
from
table
where
数量> a.数量)+1
from
table a
[解决办法]
select identity(int,1),* into #AA from AA order by 数量 desc
select * from #AA
drop table #AA

热点排行