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
select * , rn = ntile (10 )
over (partition by id order by colorder )
from syscolumns )t where rn = 1
SQL Server 2005 TOP 10%
本文介绍如何使用SQL Server 2005中的ntile()函数配合over子句来选取每个表的前10%的字段。通过具体示例展示了如何为syscolumns表中的每一行分配一个从1到10的相对排名。
8749

被折叠的 条评论
为什么被折叠?



