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

你可能感兴趣的:(数据库,职场,休闲,ntile)