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中的ntile()函数配合over子句来选取每个表的前10%的字段。通过具体示例展示了如何为syscolumns表中的每一行分配一个从1到10的排名,并筛选出排名为1的记录。

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



