All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
Asp.Net,通用数据操作类,(附通用数据基类)_[Asp.Net教程]_0
在Windows系统上安装PHP应用程序服务器_php资料_编程技术
探讨ASP.NET,2.0中的Web控件改进技术_.net资料_编程技术
.net中错误日志的写入_[Asp.Net教程]
从草根到大腕,PHP技术发展历程_php资料_编程技术
C#中创建MDI窗体
ASP.NET写文件
分页,SQLServer存储过程_[SQL,Server教程]
PHPer:让我们拥抱敏捷吧_php资料_编程技术
asp.net2.0验证控件之 CompareValidator控件使用方法详
Reading number is top 10 pictures
青春清纯美女大集合4
The money of more than 100 countries and regions11
人美胸美腿更美3
The real super beauty3
Is said to be a Chinese female artist fame explicit pictures before1
青涩甜美-王祖贤小时候的旧照片曝光
中国女孩大胆自拍,显露完美身材4
这才是真正的人体艺术1
邪恶搞笑内涵图
星星命名法则
Download software ranking
Ashlynn Video1
matrix3
Unix video tutorial13
传奇私服架设教程
终极变速大师Speeder3.26
JSP+Ajax Web development typical examples
徐若瑄成名作“魔鬼天使”
株洲本地在线棋牌游戏
The king of fighters 97(Mobile phone games-apk)
Unix video tutorial1
归海一刀 published in(发表于) 2014/2/3 6:43:26 Edit(编辑)
在SQL Server中使用NewID()产生随机集_[SQL Server教程]

在SQL Server中使用NewID()产生随机集_[SQL Server教程]

在SQL Server中使用NewID()产生随机集_[SQL Server教程]

我们团队最近为旅行包组织完成了一个项目,因为这个项目,我们受到了很多客户热情洋溢的感谢信和E-mail。我们将这些赞扬保存在一个称之为Kudos的荣誉表中。


在网站设计阶段,我们决定利用Kudos表在网站上显示客户的反馈信息。而显示的时候只需要10条记录,但是我们不希望只能显示那固定的几条反馈信息,因为它有些恼人并且需要维护。所以我们选择随机方法挑出10条记录。将在下面给你讲解在SQL Server中如何产生随机集。


因为你没有这个名叫Kudos的表,那我们就选用SQL Server有的Northwind表作为示例。很明显T-SQL函数不能满足这个要求:


useNorthwind


select rand(), productid, productname from Products


这个方法的问题在于Rand()函数在给定命令里所有行都返回相同的值,见Listing A。


你可能不需要得到这样的结果,则可以给rand()函数提供一个种子值。在下面的代码中,我们在Rand()函数中给定每一行的productid作为种子值。


select top 10

rand(productid) as row, productid, productname


from Products


order by row


返回的结果见Listing B.


不论这个命令运行多少次,虽然随机指派的行返回唯一的值,但是我们的得到的productids数字是10进制的。这个方法还没有起作用。


但是,这里提供了另外一个更有用的函数:NewID(),它返回一个GUID(全局唯一标志符)。我们看看Rand()函数被NewID()函数代替后的结果怎么样:


select top 10

newid() as row, productid, productname


from Products


order by row


运行的结果与Listing C中的结果很相似。


你的结果有点不同,因为NewID()在每一次调用的时候都产生一个GUID,因此,如果将上面的命令运行2到3次,得到的结果是不同的。


这个方法是调用NewID()的值作为一列,然后通过NewID()排列这些值。此方法很简单,并且可以应用到不同的场合。例如:你可能需要创建一些有某种特性的产品的列表或随机挑选10个客户或者100个随机挑选出来的订单的详细资料等。


SQL Server不是设计用于产生随机集的,但是其设计是基于数学而非商学的。幸亏有NewID()函数,我们才能够毫不费力地产生随机数据集。


来源:网络







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.