我在 mysql 数据库的某个表中有大约 300 条记录。我有一个要求,通过一次查询获取 40 条随机记录。如何编写查询? 需要帮忙 谢谢。
最佳答案
对于像你这样的小 table ,它应该足够了:
SELECT * FROM table ORDER BY RAND() LIMIT 40;
请注意,这不适用于大型表,因为由于使用了 ORDER BY RAND()
,MySQL 必须进行表扫描并对表中的所有行进行排序。对于大型表,您必须主要在应用程序代码中实现这一点,跟踪您已经获得的行并生成随机 ID 以获取。
关于mysql - 如何从mysql数据库中获取随机行数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4003839/