随机选择表格里的行

原创 2004年07月30日 16:33:00
作者: ZDNet China
Friday, November 28 2003 4:08 PM

本文译自Builder

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

motion_336.gifmotion_336.gif code;sz=1x1;ord=1466815764?

但是其中的障碍是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个随机用户的引言来赞美公司服务,在做这个的时候我用到了这个解决方案。用户也可以在他们每次访问网站的时候看到新的引言。

这是向网站加入新吸引点的简单方法。既然你知道了如何发布随机选择的数据列,你看起来就像是一个SQL的明星了。


本文作者:Arthur Fuller开发数据库应用程序已经有20年了。他的专业经验包括Access ADPs、微软SQL 2000、MySQL和.NET。


从文本中随机选择百万行

现在有一个260万行的文本,希望从中随机选择100万行。以下这些方法,经过博主的验证,都是实际可行的。...
  • bitcarmanlee
  • bitcarmanlee
  • 2016年10月01日 18:00
  • 655

DB----随机选择数据库与随机读取若干条记录

随机选择数据库记录的方法(使用Randomize函数,通过SQL语句实现)    对存储在数据库中的数据来说,随机数特性能给出上面的效果,但它们可能太慢了些。你不能要求ASP“找个随机数”然后打印出...
  • damys
  • damys
  • 2014年06月20日 16:43
  • 1106

JSP中table中数据自动换行的问题

在JSP页面中,table常用,当然表格中的每一列都可能存有不同类型的数据,拿文本数据laish...
  • yusimiao
  • yusimiao
  • 2014年04月11日 17:41
  • 10085

IOS 自定义导航栏 和表格 学习笔记

demo 下载地址: 昨天花了点时间重新学习了下UITableView  和自定义导航栏,写了个demo以备后面查看。 先说昨天遇到的问题, 1.demo写完后,发现表格老是有重叠页面,同时表格的位置...
  • robinson_911
  • robinson_911
  • 2015年01月11日 11:13
  • 694

在Excel的单元格中产生随机数

电子表格中RAND()函数的取值范围是0到1,公式如下: =RAND()   如果取值范围是1到2,公式如下: =RAND()*(2-1)+1     RAND( )   注解:...
  • xxyy888
  • xxyy888
  • 2013年11月10日 23:05
  • 8141

如何在GRID中加入复选框或组合框?

如何在GRID中加入复选框或组合框? *----------------------------- 方法一: 1、把GRID的列数改为>0 &&方法二不需要此项 2、右键单击GRI...
  • AYongSoft
  • AYongSoft
  • 2013年03月12日 13:31
  • 1130

Qt在表格中加入控件

任务:使用 QTableWidget 动态生成表格,在每行的某两列中加入 QComboBox 下拉框控件和 QPushButton 按钮控件 有添加,删除,编辑功能,每行的按钮可以浏览文件夹并选...
  • houyahuiyu
  • houyahuiyu
  • 2017年07月01日 11:55
  • 261

利用PHP实现二叉树的图形显示

前言:最近老师布置了一个作业:理解并实现平衡二叉树和红黑树,本来老师是说用C#写的,但是我学的C#基本都还给老师了,怎么办?那就用现在最熟悉的语言PHP来写吧!有一个问题来了,书上在讲解树的时候基本上...
  • baidu_30000217
  • baidu_30000217
  • 2016年10月21日 12:49
  • 2550

python 打开一个文件并随机读取文件某一行

#!/usr/bin/python2.6   # -*- coding: utf-8 -*-  import Tkinter import tkMessageBox import random...
  • u012700515
  • u012700515
  • 2015年07月13日 15:00
  • 1577

随机森林特征选择

随机森林具有准确率高、鲁棒性好、易于使用等优点,这使得它成为了目前最流行的机器学习算法之一。随机森林提供了两种特征选择的方法:mean decrease impurity和mean decrease...
  • xiaocong1990
  • xiaocong1990
  • 2017年03月11日 11:48
  • 1134
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:随机选择表格里的行
举报原因:
原因补充:

(最多只允许输入30个字)