首页 > 数据库 >无涯教程-SQL RAND Function函数

无涯教程-SQL RAND Function函数

时间:2024-01-17 17:32:38浏览次数:28  
标签:Function RAND 06 04 无涯 2007 SQL +------+------+------------+--------------------

SQL具有 RAND 函数,可以调用该函数以生成介于0和1之间的随机数-

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

当使用整数参数调用时,RAND()使用该值作为随机数生成器的种子。每次使用给定值为生成器播种时,RAND()将产生可重复的数字序列-

SQL>  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 表,该表具有以下记录-

SQL> 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)

现在,使用以下命令-

SQL> 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)

SQL> 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)

参考链接

https://www.learnfk.com/sql/sql-rand-function.html

标签:Function,RAND,06,04,无涯,2007,SQL,+------+------+------------+--------------------
From: https://blog.51cto.com/u_14033984/9294718

相关文章

  • Pure Function
    PureFunction纯函数1.纯函数一定要有输入和输出,函数内使用到的变量最好都应该从参数中获取constpure=(a,b,c){returna+b+c}letc=1constimpure=(a,b)......
  • 无涯教程-SQL SUM Function函数
    SQLSUM函数用于查找各种记录中一个字段的总和。要了解SUM函数,请考虑一个employee_tbl表,该表具有以下记录-SQL>SELECT*FROMemployee_tbl;+------+------+------------+--------------------+|id|name|work_date|daily_typing_pages|+------+------+---......
  • 无涯教程-SQL - ADDDATE()函数
    下表列出了可通过SQL使用的所有重要的与日期和时间相关的重要功能。RDBMS还支持其他各种功能。给定的列表基于MySQLRDBMS。Sr.No.Function&Description1ADDDATE()添加日期2ADDTIME()增加时间3CONVERT_TZ()从一个时区转换到另一个时区4CURDATE()返回当前日......
  • 无涯教程-SQL COUNT Function函数
    SQLCOUNT函数是最简单的函数,在计算预计由SELECT语句返回的记录数时非常有用。要了解COUNT函数,请考虑一个employee_tbl表,该表具有以下记录-SQL>SELECT*FROMemployee_tbl;+------+------+------------+--------------------+|id|name|work_date|daily_typ......
  • 无涯教程-SQL - INTERSECT Clause函数
    SQLINTERSECT子句用于组合两个SELECT语句,但仅返回第一个SELECT语句中与第二个SELECT语句中的行相同的行。这意味着INTERSECT仅返回两个SELECT语句返回的公共行,MySQL不支持INTERSECT运算符。INTERSECT-语法INTERSECT的基本语法如下。SELECTcolumn1[,column2]FROMt......
  • 无涯教程-SQL - EXCEPT Clause函数
    SQLEXCEPT子句用于组合两个SELECT语句,并从第一个SELECT语句返回第二个SELECT语句未返回的行,这意味着EXCEPT仅返回第二行SELECT语句中不可用的行,MySQL不支持EXCEPT运算符。EXCEPT-语法EXCEPT的基本语法如下。SELECTcolumn1[,column2]FROMtable1[,table2][WHE......
  • 无涯教程-SQL - CARTESIAN JOIN函数
    CARTESIANJOIN或CROSSJOIN从两个或多个联接表中返回记录集的笛卡尔积。CARTESIANJOIN-语法CARTESIANJOIN或CROSSJOIN的基本语法如下-SELECTtable1.column1,table2.column2...FROMtable1,table2[,table3]CARTESIANJOIN-示例请考虑以下两个表。表1-C......
  • 无涯教程-SQL - FULL JOIN函数
    SQLFULLJOIN组合了左右外部联接的输出,联接的表将包含两个表中的所有记录,并为任一侧缺少的匹配项填充NULL。FULLJOIN-语法FULLJOIN的基本语法如下-SELECTtable1.column1,table2.column2...FROMtable1FULLJOINtable2ONtable1.common_field=table2.common_fie......
  • 无涯教程-SQL - RIGHT JOIN函数
    SQLRIGHTJOIN返回右表中的所有行,即使左表中没有匹配项也是如此,这意味着右连接返回右表中的所有值,再加上左表中的匹配值,如果没有匹配则返回NULL。RIGHTJOIN-语法RIGHTJOIN的基本语法如下。SELECTtable1.column1,table2.column2...FROMtable1RIGHTJOINtable2O......
  • 无涯教程-SQL - Create Table Using another Table.函数
    可以使用CREATETABLE语句和SELECT语句的组合来创建现有表的副本。新表具有相同的列定义。可以选择所有列或特定列。当您使用现有表创建新表时,将使用旧表中的现有值填充新表。语法从另一个表创建表的基本语法如下:CREATETABLENEW_TABLE_NAMEASSELECT[column1,colu......