从 MySQL 中选择随机结果?
你需要使用 rand() 函数从 MySQL 中选择随机结果。
语法如下:
select *from yourTableName order by rand() limit 1;
为了理解上述语法,让我们创建一个表格。创建表格的查询如下:
mysql> create table selectRandomRecord -> ( -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(20) -> ); Query OK, 0 rows affected (0.53 sec)
使用 insert 命令在表格中插入一些记录。
查询如下:
mysql> insert into selectRandomRecord(StudentName) values('John');
Query OK, 1 row affected (0.17 sec)
mysql> insert into selectRandomRecord(StudentName) values('Carol');
Query OK, 1 row affected (0.14 sec)
mysql> insert into selectRandomRecord(StudentName) values('Bob');
Query OK, 1 row affected (0.12 sec)
mysql> insert into selectRandomRecord(StudentName) values('Sam');
Query OK, 1 row affected (0.15 sec)
mysql> insert into selectRandomRecord(StudentName) values('Mike');
Query OK, 1 row affected (0.16 sec)
mysql> insert into selectRandomRecord(StudentName) values('Robert');
Query OK, 1 row affected (0.20 sec)使用 select 语句从表格中显示所有记录。
查询如下:
mysql> select *from selectRandomRecord;
输出如下:
+-----------+-------------+ | StudentId | StudentName | +-----------+-------------+ | 1 | John | | 2 | Carol | | 3 | Bob | | 4 | Sam | | 5 | Mike | | 6 | Robert | +-----------+-------------+ 6 rows in set (0.00 sec)
以下是从 MySQL 中选择随机结果的查询。
mysql> select *from selectRandomRecord order by rand() limit 1;
输出如下:
+-----------+-------------+ | StudentId | StudentName | +-----------+-------------+ | 3 | Bob | +-----------+-------------+ 1 row in set (0.00 sec)
现在再次执行相同的查询以获得另一个随机值
mysql> select *from selectRandomRecord order by rand() limit 1;
输出如下:
+-----------+-------------+ | StudentId | StudentName | +-----------+-------------+ | 5 | Mike | +-----------+-------------+ 1 row in set (0.00 sec)
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP