动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   数据库 → 阅读文章

 随机选择表格里的行

作者:无从考证 来源:不详 
阅读 数 149 人次 , 2006-2-15 17:52:00 

你可以使用很多种方式随机选择数据行;这在你想要往网站里加入动态特性的时候特别有效。例如,你可以随便选择一个产品,将其作为“今天的特色产品”来展示,或者质量评估人员(QA)可以生成一个随机的调用表,以测量用户的满意度。

但是其中的障碍是SQL不允许随机选择列。好消息是,有一个简单的技巧能够在SQL里实现这一功能。
该解决方案基于uniqueidentifier这个数据类型。唯一的标识符,也叫做全局唯一标识符(Guaranteed Unique Identifiers,GUID),看起来就像下面这样:
4C34AA46-2A5A-4F8C-897F-02354728C7B0 
SQL服务器在很多情况下都会使用GUID,最明显的可能就是复制过程了。当正常增长的单位数据列(identity column)没有提供足够的关键字时,你可以使用它们。要做到这一点,你就要创建一个uniqueidentifier类型的数据列,而这个类型缺省的值是NewID(),就像下面一样:
CREATE TABLE MyNewTable
(
 PK uniqueidentifier NOT NULL DEFAULT NewID(),
 AnotherColumnvarchar(50) NOT NULL,
  . . . 
这个函数就像是解决我们选择随机列问题的钥匙。我们可以简单地调用NewID(),将其作为我们查询里的一个虚拟列,就像下面这样:
SELECT TOP 10 OrderID, NewID() as Random
FROM Orders
ORDER BY Random    
 
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:字符串分拆查询
· 下一篇:分拆统计字符串
· Sybase数据库技术(76)
· 精通数据库系列之入门-技巧篇2
· 循序渐进学习Power Builder 6.0(9-5)
· SQL Server数据库技术(127)
· 全面接触SQL语法(6)


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077