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

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)