网络编程
位置:首页>> 网络编程>> 数据库>> mysql rand(x)生产重复随机序列

mysql rand(x)生产重复随机序列

  发布时间:2010-12-03 16:01:00 

标签:mysql,rand,随机

比如有一个需求,通过sql语句,返回-5至5的随机整数.如果这一个放在PHP中,则非常简单直接用


print rand(-5,5);

?>

在mysql中,rand函数只能有一个参数. //摘自手册

RAND() RAND(N)

返回一个随机浮点值 v ,范围在 0 到1 之间 (即, 其范围为 0 ≤ v ≤ 1.0)。若已指定一个整数参数 N ,则它被用作种子值,用来产生重复序列。

有两个方法可以达成以上效果.

1.新建一个表,里面存着 -5 至 5 之间的数.再利用order by rand()得到随机数.

#建立指定范围数据表

#auther: 小强(占卜师)

#date: 2008-03-31

create table randnumber

select -1 as number

union

select -2

union

select -3

union

select -4

union

select -5

union

select 0

union

select 1

union

select 2

union

select 3

union

select 4

union

select 5

#得到随机数

#auther: 小强(占卜师)

#date: 2008-03-31

select number

from randnumber order by rand() limit 1

优点: 随机数可以指定某部分数据,并不需要连续的.

缺点: 当随机数范围很广的时候,建表比较困难.

2.利用MySQL的ROUND()加上RAND()函数实现

#一句sql语句搞定

#auther: 小强(占卜师)

#date: 2008-03-31

SELECT ROUND((0.5-RAND())*2*5)

#注释

#0.5-rand()可以得到-0.5 至 +0.5的随机数

#(0.5-rand())*2可以得到-1 至 +1的随机数

#(0.5-rand())*2*5可以得到-5 至 +5的随机数

#ROUND((0.5-RAND())*2*5)可以得到-5 至 +5的随机整数

优点: 当随机数范围很广的时候,只需要更改*5当中的5即可,非常方便.

缺点: 随机数只能是连续的,不可以指定某部分数据.

原创文章,欢迎转载。转载请注明来自[phpchina.com]即可。

0
投稿

猜你喜欢

  • 在OOCSS中怎么定义“对象”?对象类似JAVA中的类,保持着OO的特征。一个CSS对象由4部分组成:可能是一个或多个DOM节点的HTML由
  • 最近在研究品牌如何演绎,当然,看的时候没有忘记本行,分析了一下他们的交互设计~~路易威登LV上图采用胶片展示多组信息——大片展示品牌渲染。利
  • MySQL的本地备份和双机相互备份脚本:首先,我们需要修改脚本进行必要的配置,然后以root用户执行。◆1. 第一执行远程备份时先用 fir
  • 网页设计中,内容组织恐怕是最至关重要、最影响设计品质的方面了。如何将信息组织到好的布局中,是一个网站的基础,并且应该在考虑外观之前就决定好。
  • 经常在网站上看到诸如www.abc.com/?news或者www.abc.com/?id=123这样的网址,一开始觉得很神秘,其实现在看多了
  • AddHeaderAddHeader 方法用指定的值添加 HTML 标题。该方法常常向响应添加新的 HTTP 标题。它并不替代现有的同名标题
  • 在后台添加中一般我们都设置了一个“关键字”,而且一般输入可能如下: 娃娃,毛绒娃娃,日本充气娃娃 我们将根据这个来做,具体实现如下: 先看一
  • 关于建立索引的几个准则:1、合理的建立索引能够加速数据读取效率,不合理的建立索引反而会拖慢数据库的响应速度。2、索引越多,更新数据的速度越慢
  • JS获取网页中HTML元素的几种方法分析:getElementById getElementsByName getElementsByTag
  • 从文本文件中调出记录出现丢失换行?解决方法:<%Dim fsDim tsset fs=Server.Cr
  • 如果你已经理解了block formatting contexts那么请继续,否则请先看看这篇文章。Overflow能够做一些很牛掰的事情,
  • 异步 innerHTMLinnerHTML 插入节点的性能的问题,通常是我们最关注的。在回答这问题时,James Padolsey 给出了他
  •     DreamWeaver 4的到来让大家兴奋吧?但是大家一定为DreamWeaver4里面的字体、文字大
  • ASP错误大全 Microsoft VBScript语法错误(0x800A03E9)-->内存不足 Microsoft VBScript语法
  • 本文实例介绍了如何使用ASP代码来读写注册表,呵呵厉害吧! 一个例子: <%Dim ReadComputerNam
  • PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具中了,近几年中更多的
  •     以前的Dreamweaver中是没有图片处理功能的,即使你要处理也只能使用CSS中的相关滤镜进行一些效
  • 前面的文章,主要讲到如何使用无序列表ul元素来实现复杂柱状图,但是在Web标准中,除了注重表现外,更加注重语意,所谓的语意就是样式和内容的相
  • 当今,有一点可以肯定的是,设计的领域在扩大,这是一个需要设计的世界。拒最新的统计资料显示,中国目前已有正规的设计学院教学机构700多所,并且
  • 让ASP搭配MYSQL所需要工具mysql-4.1.11-win32 myodbc-3.51.11-1-dll myodbc-3.51.11
手机版 网络编程 asp之家 www.aspxhome.com