随机提取记录的SQL例子,随机选择表格里的行
来源:互联网 发布:通达信 数据引用公式 编辑:程序博客网 时间:2024/05/24 08:34
你可以使用很多种方式随机选择数据行;这在你想要往网站里加入动态特性的时候特别有效。例如,你可以随便选择一个产品,将其作为“今天的特色产品”来展示,或者质量评估人员(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个随机用户的引言来赞美公司服务,在做这个的时候我用到了这个解决方案。用户也可以在他们每次访问网站的时候看到新的引言。
-----------------------------------------------------------------
随机提取10条记录的例子:
SQL Server:Select Top 10 * From 表 Order By NewID()
Access:Select Top 10 * From 表 Order By Rnd(ID)
Rnd(ID) 其中的ID是自动编号字段,可以利用其他任何数值来完成,比如用姓名字段(UserName)
Select Top 10 * From 表 Order BY Rnd(Len(UserName))
MySql:Select * From 表 Order By Rand() Limit 10
- 随机提取记录的SQL例子,随机选择表格里的行
- 随机选择表格里的行
- 随机选择表格里的行
- 随机提取10条记录的例子
- 随机提取N条记录的SQL语句
- 随机提取N条记录的SQL语句
- 随机提取N条记录的SQL语句(转)
- 读取随机记录的例子
- ORACLE里随机取一定数量的记录
- 随机选择数据库记录的方法
- 随机选择数据库记录的方法
- mysql中随机选择记录的方法
- 随机选择数据库记录的方法
- SQL随机提取N条记录
- SQL随机提取N条记录
- SQL随机提取N条记录
- SQL随机提取N条记录
- SQL随机提取N条记录
- ASP+JMAIL进行邮件群发的新思路
- 当经理层职位空缺时,是该从内部择优录选还是从外部招贤纳士(zz)
- 在visual c++中察看未被处理的异常
- communications 名词术语
- Notes程序开发规范备忘
- 随机提取记录的SQL例子,随机选择表格里的行
- Notes设计插入共享域问题
- 斑竹判决社区争议细则草案(征求意见稿)
- 个性书签
- 精妙SQL语句
- 数组学习(续一)
- 今天计算定标问题
- symbian应用程序类型介绍
- Study EJB (1)