mysql 怎么实现随机查询并分页,不重复查询
时间: 2023-12-14 14:39:56 浏览: 224
可以通过使用 `ORDER BY RAND()` 来实现随机查询,并结合 `LIMIT` 实现分页。为了确保不重复查询,可以在查询条件中加入一个过滤条件,比如一个 `WHERE` 子句,排除已经查询过的记录。
以下是一个示例 SQL 查询语句:
```sql
SELECT * FROM table_name
WHERE id NOT IN (SELECT id FROM temp_table)
ORDER BY RAND()
LIMIT 10;
```
其中,`table_name` 是要查询的表名,`id` 是表中的主键列,`temp_table` 是一个临时表,用于存储已经查询过的记录的主键值。`ORDER BY RAND()` 会将结果集中的行随机排序,`LIMIT 10` 则限制查询结果只返回前 10 行。
这个查询语句会先从 `temp_table` 中获取已经查询过的主键值,然后在 `table_name` 表中过滤掉已经查询过的记录,最后随机排序并返回前 10 行结果。为了避免查询结果重复,已经查询过的主键值需要存储到 `temp_table` 中。
阅读全文