mysql 随机,mysql随机数生成原理?

用户投稿 24 0

关于“php_mysql_随机”的问题,小编就整理了【3】个相关介绍“php_mysql_随机”的解答:

mysql随机数生成原理?

1) 产生0到1000间的随机数

SELECT RAND() * 10000;

对应产生相应的整数

SELECT FLOOR(RAND() * 10000)

2) 使用md5()产生32位随机字符串

SELECT MD5(RAND() * 10000)

3) 产生500-1000间的整形

SELECT FLOOR( 500 + RAND() * (1000 - 500))

4) 假设某表如下结构

CREATE TABLE fact ( dim1 int, dim2 int, name varchar(20),

hash varchar(32),

measure1 double );

则可以自动产生适合其结构的大量随机记录 create table names(id int auto_increment primary key, name varchar(20));

insert into names (name) values ('Justin','Jerry','James','Josh','Julien');

select (select name from names where id = 1 + rand() * 4);

mysql随机查询若干条数据的方法?

1.随机读取连续多条记录。经过实践,可以随机读取多条连续的数据记录,里头取值的一般都是主键ID来进行最大值、最小值的读取:

SELECT * FROM example_table AS t1 JOIN (SELECT ROUND(RAND() * ((SELECT MAX(id) FROM example_table)-(SELECT MIN(id) FROM example_table))+(SELECT MIN(id) FROM example_table)) AS id) AS t2 WHERE t1.id >= t2.id ORDER BY t1.id LIMIT 5;

2.随机多条数据。以下两种都是随机读取数据,查询数据速度、随机范围都基本相差不大

SELECT * FROM example_table WHERE id >= ((SELECT MAX(id) FROM example_table)-(SELECT MIN(id) FROM example_table)) * RAND() + (SELECT MIN(id) FROM example_table) LIMIT 5;

MySQL实现随机获取几条数据的方法?

1:你要随机更新的话。要先查几条随机数据。然后根据查询的数据一个特定字段去更新。但是又不能在查询的时候同时更新。会报错。要先将查询出来的存储到临时表。再进行修改。

下面是我的s_grader 表结构和我的SQL语句。就实现了随机查询两条。然后进行修改。要随机修改几条就把Limit后面的2改成几。亲测可行。

UPDATE s_grader SET Sgrad='999' WHERE Sname in ( SELECT F.Sname FROM (SELECT * FROM s_grader ORDER BY RAND() LIMIT 2) F)

到此,以上就是小编对于“php_mysql_随机”的问题就介绍到这了,希望介绍关于“php_mysql_随机”的【3】点解答对大家有用。

抱歉,评论功能暂时关闭!