SQL – 随机选择
SQL 中的 RANDOM()通常用于从数据库中的表中返回随机行。它在现实生活中有很多应用。
例如 :
- 一个组织中有很多员工。假设,如果事件经理想要给任意 10 个随机员工发送邮件,那么他/她可以使用 SQL 中的 RANDOM() 来获取这 10 个随机员工的电子邮件 ID。
- 它还可以用于在在线考试或 MCQ 期间从问题池中显示随机问题。
在本文中,我们将使用如下所示的示例表讨论如何使用 RANDOM()。
样本输入表: Customer Information Customer ID Customer Name E-Mail Address 1 Srishti abc@gmail.com 2 Rajdeep def@gmail.com 3 Aman xxx@gmail.com 4 Pooja xyz@gmail.com
基本 SQL 查询:
1. 创建数据库
CREATE DATABASE database_name;
2. 创建表
CREATE TABLE Table_name(
col_1 TYPE col_1_constraint,
col_2 TYPE col_2 constraint
.....
)
col: Column name
TYPE: Data type whether an integer, variable character, etc
col_constraint: Constraints in SQL like PRIMARY KEY, NOT NULL, UNIQUE, REFERENCES, etc
3. 插入表格
INSERT INTO Table_name
VALUES(val_1, val_2, val_3, ..........)
val: Values in particular column
4. 查看表格
SELECT * FROM Table_name
输出 :
随机 SQL 查询:
1. MYSQL
SELECT col_1,col_2, ... FROM Table_Name
ORDER BY RAND()
col_1 : Column 1
col_2 : Column 2
上面的查询将返回提到的特定列的整个表,并且每次运行查询时,行将是随机的并且位置会发生变化。要随机获得单行,我们可以使用LIMIT 子句 并设置为只有一行。查询中的 ORDER BY子句用于对行进行随机排序。
SELECT col_1,col_2, ... FROM Table_Name
ORDER BY RAND()
LIMIT 1
col_1 : Column 1
col_2 : Column 2
2. PostgreSQL 和 SQLite
它与 MYSQL 完全相同。只需将 RAND( ) 替换为 RANDOM( )。
SELECT col_1,col_2, ... FROM Table_Name
ORDER BY RAND()
LIMIT 1
col_1 : Column 1
col_2 : Column 2
输出 :
我们可以观察到上述查询从表中的所有行集中随机返回行。当数据库中有大量记录时,RANDOM() 子句很有用。