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

你可能感兴趣的:(sqlserver)