zoukankan      html  css  js  c++  java
  • MySQL中的RAND()函数使用详解(order by rand() 随机查询取前几条记录)

    MySQL RAND()函数调用可以在0和1之间产生一个随机数:

    mysql> SELECT RAND( ), RAND( ), RAND( );
    +------------------+-----------------+------------------+
    | RAND( )   | RAND( )   | RAND( )   |
    +------------------+-----------------+------------------+
    | 0.45464584925645 | 0.1824410643265 | 0.54826780459682 |
    +------------------+-----------------+------------------+
    1 row in set (0.00 sec)

    当调用一个整数参数时,RAND()使用该随机数发生器种子值。每次在给定值种子生成,RAND()会产生一个可重复的一系列数字:

    mysql> SELECT RAND(1), RAND( ), RAND( );
    +------------------+------------------+------------------+
    | RAND(1 )   | RAND( )   | RAND( )   |
    +------------------+------------------+------------------+
    | 0.18109050223705 | 0.75023211143001 | 0.20788908117254 |
    +------------------+------------------+------------------+
    1 row in set (0.00 sec)

    可以使用ORDER BY RAND(),随机组行或值如下:

    要了解ORDER BY RAND()函数, 假设EMPLOYEE_TBL的表有以下记录:

    mysql> SELECT * FROM employee_tbl;
    +------+------+------------+--------------------+
    | id | name | work_date | daily_typing_pages |
    +------+------+------------+--------------------+
    | 1 | John | 2007-01-24 |    250 |
    | 2 | Ram | 2007-05-27 |    220 |
    | 3 | Jack | 2007-05-06 |    170 |
    | 3 | Jack | 2007-04-06 |    100 |
    | 4 | Jill | 2007-04-06 |    220 |
    | 5 | Zara | 2007-06-06 |    300 |
    | 5 | Zara | 2007-02-06 |    350 |
    +------+------+------------+--------------------+
    7 rows in set (0.00 sec)

    现在使用以下目录:

    mysql> SELECT * FROM employee_tbl ORDER BY RAND();
    +------+------+------------+--------------------+
    | id | name | work_date | daily_typing_pages |
    +------+------+------------+--------------------+
    | 5 | Zara | 2007-06-06 |    300 |
    | 3 | Jack | 2007-04-06 |    100 |
    | 3 | Jack | 2007-05-06 |    170 |
    | 2 | Ram | 2007-05-27 |    220 |
    | 4 | Jill | 2007-04-06 |    220 |
    | 5 | Zara | 2007-02-06 |    350 |
    | 1 | John | 2007-01-24 |    250 |
    +------+------+------------+--------------------+
    7 rows in set (0.01 sec)
     
    mysql> SELECT * FROM employee_tbl ORDER BY RAND();
    +------+------+------------+--------------------+
    | id | name | work_date | daily_typing_pages |
    +------+------+------------+--------------------+
    | 5 | Zara | 2007-02-06 |    350 |
    | 2 | Ram | 2007-05-27 |    220 |
    | 3 | Jack | 2007-04-06 |    100 |
    | 1 | John | 2007-01-24 |    250 |
    | 4 | Jill | 2007-04-06 |    220 |
    | 3 | Jack | 2007-05-06 |    170 |
    | 5 | Zara | 2007-06-06 |    300 |
    +------+------+------------+--------------------+
    7 rows in set (0.00 sec)

    order by rand() 随机查询取前几条记录

  • 相关阅读:
    iis7无法写入配置文件
    重写基类方法与隐藏基类方法的区别
    观察者模式上班玩游戏,老总是怎么知道的?
    Session过期和清除缓存 .
    C#基础概念
    php反序列化漏洞绕过魔术方法 __wakeup
    Shadow broker=>fuzzbunch+metasploit 攻击外网测试以及metasploit大批量扫描目标IP
    Python “ValueError: incomplete format” upon print(“stuff %” % “thingy”) 解决方法
    CSTC2017Webwriteup
    php 弱类型总结
  • 原文地址:https://www.cnblogs.com/fps2tao/p/9041204.html
Copyright © 2011-2022 走看看