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

这个分类计算的有关问题怎么写

2012-01-19 
这个分类计算的问题如何写?小弟刚学习SQL不久,用的是sqlserver2005,现在有个稍微复杂的问题,不知道如何最

这个分类计算的问题如何写?
小弟刚学习SQL不久,用的是sql   server   2005,现在有个稍微复杂的问题,不知道如何最简单的写出查询,还请诸位帮忙   :)

有一个表T,   列:   A,   B,   P,   其中P是价格,现在我想要计算如下:

对T中每一个不同的(A,B)组合,找出所有该组合对应的P集合,并找出其中第90%位高的价格,也就是90%的集合中的价格都低于他。这里面涉及到循环每一个(A,B)组合,还有就是找90%的价格,两个难点我不太会

多谢了。


[解决办法]
select a,b,ROW_NUMBER() OVER(PARTITION BY a,b order p desc) as pos into #temp from table order by a,b,p desc

select x.a,x.b.x.p from #temp x,(select a,b,cpos=CEILING(max(pos)*0.9) from #temp group by a,b) y where x.a=y.a and x.b=y,b and x.pos=y.cpos

热点排行