【随机提取N条记录】教程文章相关的互联网学习教程文章

mysql,需要用随机日期更新列【代码】

我的表中有一个“时间戳”类型的列,称为updated_date.向表中添加列时,所有行都更新为相同的updated_date.这不是一场灾难,因为我们仍在测试中,但是它破坏了我们网站的功能(它按照updated_date的顺序显示内容). 有什么办法可以将列(但id小于x的列)中的所有updated_date值更改为某个随机日期(或递增日期)? 提前致谢!解决方法:这可能会解决您的问题:UPDATE updated_table SET timestamp = FROM_UNIXTIME(1e9 + id) WHERE id < x;基本...

php-用于根据条件随机获取定义的行数的sql mysql查询【代码】

我正在开发一个在线考试应用程序,其中有一个问题主表,该表包含一个包含问题类型数据的字段(名称:qtype).问题类型可以是以下三种类型之一: >单>多个>描述 应用程序通过使用以下查询从此主表中生成随机试卷:select * from mst_question where test_id = 1 ORDER BY RAND() LIMIT 25这为我的在线考试申请生成了一个包含25个问题的随机问卷. 到目前为止,它的运作良好… 现在,我需要在我的应用程序中实现一个功能,其中随机生成的25个...

在MySQL上使用限制随机【代码】

我只是用这个查询SELECT * FROM questions ORDER BY RAND() LIMIT 20;在mysql数据库上,我有一列名为display(以及问题列)的值等于1.所以现在在查询中可以看到我限制为20.我想更改所有的值显示20 = 0我知道这是查询update test3 set display=0 where id=11;但这只是将显示设置为一行,我该如何为20行显示呢.提前致谢.解决方法:你可以这样做update test3 set display=0 where id in (select id from questions order by rand() limit...

java-MySQL max_allowed_pa​​cket随机更改为1024个字节【代码】

我一直遇到一个奇怪的问题,即MySQL(5.5.41-0ubuntu0.14.04.1)会意外地将max_allowed_pa??cket随机更改为1024(在mysql客户端中查询max_allowed_pa??cket变量时). 安装后,MySQL配置文件(/etc/mysql/my.cnf)保持不变,只是注释了绑定地址以允许远程连接. mysqld和mysql的max_allowed_pa??cket值均设置为16M,并且在启动mysql服务器(服务mysql start)后,该值将为16777216. 我查看了mysql错误日志和syslog,未发现与数据库崩溃或重新启动有...

PHP-MySQL-有效插入70000个随机唯一字符串【代码】

我正在做一个项目,在该项目中,我应该生成至少70000个包含8个字母数字字符的代码.密码必须唯一.目前,我正在使用php通过以下功能生成这些代码:function random_unique_serial($length, PDO $conn) {$codeCheck=FALSE;while (!$codeCheck) {$characters = '0123456789abcdefghijklmnopqrstuvwxyz';$charactersLength = strlen($characters);$randomCode = '';for ($i = 0; $i < $length; $i++) {$randomCode .= $characters[rand(0, ...

MySQL Long表的唯一随机字符串的最佳方法【代码】

我知道如何在PHP和MySQL上创建随机字符,但问题是我必须为1万行左右的表创建4个字符的随机字符串.最好的方法是确保它保持唯一性? 如果需要,我可以使用更长的字符串,但不能超过12. 为了简单起见,表存在,我需要添加一个额外的列,并用4个字符的随机字符串填充它,并且键必须保持唯一.解决方法:一个选项: 将所有可能的字符放在只有一列的表中.val ------ 0 1 ... 9 a b ... z使用此查询SELECT CONCAT(a.val,b.val,c.val,d.val) FROM ch...

随机记录Mysql PHP【代码】

我读过,在大型数据库上使用ORDER BY RAND()运行SQL查询不是一个好主意. 因此,这是我分解代码的决心.该代码需要从数据库中选择10个随机ID,然后进行第二次选择以获取随机行.$sql = "SELECT id FROM table WHERE image != ''ORDER BY id DESC LIMIT 50;";$result = mysql_query($sql);while($row = mysql_fetch_array($result)) {foreach($row as $key => $value){$array[] = $value;} } $rand_keys = array_rand($array, 10);foreach...

mysql-每个年龄段的SQL返回100个随机行【代码】

对于每个i.Age(0-100),我想使用所选数据为每个年龄返回100个随机行.我不确定我是否应该使用while循环来完成此操作,或者是否可能以某种方式限制一个组?我看了几个不同的例子,但我仍然很困惑.SELECT, i.name, i.Gender, i.Age, i.MP, b.score FROM i INNER JOIN b on b.name=i.name WHERE i.MP='F' AND i.gender='F' AND b.score<=-1 AND i.age = 0 ORDER BY RAND() LIMIT 100目前,上面的查询有效,但它只返回100个年龄为0的随机行.我...

如何在mysql存储过程中生成5个随机数【代码】

如何生成5个唯一的随机数? 现在我有类似declare v_counter integer; declare v_random integer; declare v_result varchar(10);select FLOOR(1+(rand()*50)) into v_result; set v_counter=0; while v_counter < 4 thenselect FLOOR(1+(rand()*50)) into v_random;set v_result = concat(v_result,'|',v_random;v_counter = v_counter + 1; end while;结果可能如下所示:12|22|3|46|3这些数字必须唯一且经过排序,因此看起来像:1|...

php-从MySQL中的相同(随机)记录中选择2列的最快方法是什么?【代码】

我想从同一记录中随机检索一对列.我听说兰德的效率很低,所以我想用另一种方式. (很多文章都这样声称,包括http://akinas.com/pages/en/blog/mysql_random_row/). 是的,我的头衔几乎说明了一切.例:记录:12,詹姆斯,单簧管,鸡16,比利,鼓,培根15,Shane,吉他,比萨 系统将随机选择一条记录.然后echo’一个名叫$firstname的男孩喜欢$favoritefood’. 这样的事情.救命?解决方法:关于SQL注入的标准免责声明.这应该可以,但是我没有尝试://...

Mysql选择一些随机行和一个特定行【代码】

我有一个测验系统,问题有多个选择. 我想表明正确的答案加上四个错误的选择.我必须有五个选择. 表格选择id | choice | questionid | correct ---+--------+------------+--------1 | choice1| 1 | false2 | choice2| 1 | false3 | choice3| 1 | false4 | choice4| 1 | false5 | choice5| 1 | true6 | choice6| 1 | false7 | choice7| 1 | false8 | ...

mysql随机获取一条或者多条数据

语句一:select * from users order by rand() LIMIT 1MYSQL手册里面针对RAND()的提示大概意思就是,在 ORDER BY从句里面不能使用RAND()函数,因为这样会导致数据列被多次扫描,导致效率相当相当的低,效率不行,切忌使用。语句二:SELECT * FROM users AS t1 JOIN (SELECT ROUND(RAND() * ((SELECT MAX(userId) FROM `users`)-(SELECT MIN(userId) FROM users))+(SELECT MIN(userId) FROM users)) AS userId) AS t2 WHERE t1.user...

PHP随机排序的MySQL分页【代码】

这是我网站上订购搜索结果的问题, 进行搜索时,内容页面上会显示随机结果,此页面也包含分页.我用户跟随我的SQL查询.SELECT * FROM table ORDER BY RAND() LIMIT 0,10;所以我的问题是 >我需要确保每次用户访问下一页时,他们已经看到的结果不再出现(在下一个查询中排除它们,以内存有效的方式但仍按rand()排序)>每次访问者访问第一页时都会有不同的结果集,是否可以使用此分页,或者排序始终是随机的.>我可以在MYSQL中使用种子,但是我不确...

mysql – 如何在考虑权重的情况下随机选择一行?【代码】

我有一张看起来像这样的表:id: primary key content: varchar weight: int我想要做的是从该表中随机选择一行,但考虑到重量.例如,如果我有3行:id, content, weight 1, "some content", 60 2, "other content", 40 3, "something", 100第一行有30%被选中的机会,第二行被选中的几率为20%,第三行被选中的几率为50%. 有没有办法做到这一点?如果我必须执行2或3个查询,这不是问题.解决方法:我已经尝试过van的解决方案,虽然它有效,但...

mysql随机抽取一定数量的记录【代码】

以前碰见这种使用场景都是直接order by rand()来处理的,但是效率实在是不敢恭维,所以最近又碰见这种场景,在网上找寻下比较好的解决办法. 1.order by rand() 写法:SELECTid FROM`table` ORDER BYrand() 这种写法的缺点是rand函数在order by中被执行多次,影响效率。 2.max(id) * rand() 使用join 写法:SELECT* FROM`table` AS t1 JOIN (SELECTROUND(RAND() * ((SELECT MAX(id) FROM `table`) - (SELECT MIN(id) FROM `table`)) ...

提取 - 相关标签