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% 记录。
2377

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



