SQLServer ntile获取每组前10%的数据

2016-02-19 10:41 36 1 收藏

下面,图老师小编带您去了解一下SQLServer ntile获取每组前10%的数据,生活就是不断的发现新事物,get新技能~

【 tulaoshi.com - 编程语言 】

比如获取每个表的前10%个字段。
代码如下:

select id , name , colid , rn from (
select * , rn = ntile (10 )
over (partition by id order by colorder )
from syscolumns )t where rn = 1

来源:http://www.tulaoshi.com/n/20160219/1595500.html

延伸阅读
这个问题来自论坛提问。很多人都知道类似下面的语句 select top 2000 * from tb order by newid() 但是在海量数据下,它的性能是无法忍受的。这里我用一个变通的办法来实现性能的提升,思路为:表必须存在一个guid类型的主键或者索引列,然后用这个列去like一个随机字符串,随机字符串必须为guid规定的字符集合(数字+A到Z)。下面例子只...
标签: Web开发
也许这是个很简单的问题,可是在我学习程序的时候忽略了单选按钮。导致对于他的数据传递方法的空缺。经过嗷嗷的帮助实现了下面关于年龄选择的表单的数据获取,仅仅在IE下测试成功了。先测试一下这个程序效果。 代码如下: form method="post" name="form1"     labelinput type="radio" name="radio"...
 在软件开发过程中经常会遇到数据库升迁的问题,原因比较多,如acsess访问速度比sql server慢、删除数据记录后access会留下空档,文件越来越大(也可用压缩修复的方式减小文件大小,但太麻烦),访问速度越来越慢,甚至会数据库损坏,损坏得比较轻的可以找第三方工具来修复,便严重时会导致数据库无法修复,或修复后数据记录会损坏。所以我们...
   declare @i  int    set @i='a'    set @i=cast('a' as int)    set @i=convert(int, 'a')    print @i                           &n...
MicrosoftSQLServer与ORACAL、Sybase都是当前比较流行的数据库管理系统(RDMS),随着SQLServer的不断完善与发展,以及与网络操作系统WindowsNT的完美结合,它为分布式客户服务器结构程序设计提供了良好的开发环境,也因此越来越受到人们的重视。 MicrosoftSQLServer是一个可缩放、高性能的数据库管理系统,它提供了与WindowsNT线程和调度服务...

经验教程

715

收藏

48
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部