SQLServer获取每组前10%的数据

sqlserver2005有关键字ntile(x)和over(partition by.. order by..)子句配合.

 

比如获取每个表的前10%个字段。

 

 

select id , name , colid , rn from (
select * , rn = ntile (10 )
    over (partition by id order by colorder )
from syscolumns )t where rn = 1

posted on 2009-08-28 17:27  代码王子  阅读(475)  评论(0编辑  收藏  举报

导航