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

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

比如有一个需求,通过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]即可。

标签:mysql,rand,随机
0
投稿

猜你喜欢

  • python DataFrame中loc与iloc取数据的基本方法实例

    2022-06-23 15:58:25
  • python计算机视觉OpenCV库实现实时摄像头人脸检测示例

    2022-05-17 22:41:50
  • python的pyecharts绘制各种图表详细(附代码)

    2021-12-29 16:51:13
  • 301转向和网址规范化

    2007-09-26 14:00:00
  • Dreamweaver4使用技巧之--为你的站点定做颜色

    2010-09-05 21:12:00
  • JavaScript实现简易轮播图最全代码解析(ES6面向对象)

    2024-04-16 10:40:32
  • Python个人博客程序开发实例信息显示

    2022-07-06 15:31:05
  • Python素数检测的方法

    2021-02-13 13:07:30
  • Python基于OpenCV实现人脸检测并保存

    2023-10-07 00:43:37
  • 从传文件功能看本地化

    2009-12-29 13:03:00
  • 使用base64对图片的二进制进行编码并用ajax进行显示

    2024-05-02 16:18:24
  • Python基于pip实现离线打包过程详解

    2021-09-13 06:11:08
  • Python实现的简单计算器功能详解

    2023-11-17 09:34:08
  • python 实现docx与doc文件的互相转换

    2022-01-19 06:45:58
  • python 删除指定时间间隔之前的文件实例

    2023-07-19 17:58:38
  • Go语言数据结构之插入排序示例详解

    2024-05-05 09:34:32
  • Python使用paramiko连接远程服务器执行Shell命令的实现

    2023-01-19 15:25:39
  • MySQL数据库用户权限管理

    2024-01-19 00:29:18
  • php测试程序运行速度和页面执行速度的代码

    2023-06-14 07:49:18
  • Windows 2003服务器上传文件受限制的解决方法

    2011-02-14 11:29:00
  • asp之家 网络编程 m.aspxhome.com