SQL或ORM获取随机一行数据
MySQL
使用ORDER BY RAND()
结合LIMIT
来实现。例如,有一个名为employees
的表,要从中随机获取一行数据,可以使用以下语句:
SELECT * FROM employees ORDER BY RAND() LIMIT 1;
使用order_by('?')
- 在 Django 中,可以使用
order_by('?')
来对查询集进行随机排序,然后取第一条数据,从而获取随机一行的值。例如,有一个Book
模型类,要从Book
表中随机获取一行数据,可以这样写:
from myapp.models import Book
random_book = Book.objects.order_by('?').first()
使用原生 SQL 结合objects.raw()
- 也可以使用原生 SQL 结合
objects.raw()
方法来实现。这种方法在一些数据库中可能更高效,特别是当数据量较大时。以下是一个使用