快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

随机选择表格里的行

你可以使用很多种方法随机选择数据行;这在你想要往网站里加入动态特性的时候特殊有效。例如,你可以随便选择一个产品,将其作为“今天的特色产品”来展示,或者质量评估人员(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

最近我创建一个页面,上面发表有10个随机用户的引言来赞美公司服务,在做这个的时候我用到了这个解决方案。用户也可以在他们每次访问网站的时候看到新的引言。
返回类别: 教程
上一教程: MYSQL迅速入门
下一教程: SQL SERVER安装2005中ADVENTUREWORK

您可以阅读与"随机选择表格里的行"相关的教程:
· 如何随机选取N条记录或者对记录作随机排序?
· 如何随机选取n条记录或者对记录作随机排序?
· MYSQL如何从表中取出随机数据
· MYSQL实现表中取出随机数据
· 从数据库中随机抽N条记录
    微笑服务 优质保证 索取样品