Php 从表中获取随机唯一记录

Php 从表中获取随机唯一记录,php,mysql,Php,Mysql,我想取50条不重复的随机记录 Table Name : table 1 Fields : test_id,test_name,test_phone. 有人能给我推荐一个可以从数据库中提取50条随机记录而不重复的查询吗?试试: SELECT DISTINCT * FROM table_1 ORDER BY RAND() LIMIT 50; 确保它们是唯一的,确保test\u id是一个自动递增的INT试试这个 SELECT DISTINCT * FROM table ORDER BY RAND

我想取50条不重复的随机记录

Table Name : table 1
Fields : test_id,test_name,test_phone.
有人能给我推荐一个可以从数据库中提取50条随机记录而不重复的查询吗?

试试:

SELECT DISTINCT * FROM table_1 ORDER BY RAND() LIMIT 50;
确保它们是唯一的,确保
test\u id
是一个自动递增的
INT

试试这个

SELECT DISTINCT * FROM table ORDER BY RAND() LIMIT 50

如果您有任何疑问,请联系。

使用以下查询

SELECT distinct * FROM `table_1` order by rand() limit 50

它可以工作。

你能为它尝试一些存储过程吗?我可以知道为什么测试id必须是自动递增的吗?我们没有通过查询any where.中的test_id,因为auto increment将确保每次行都是唯一的。我想我应该问,“复制”是什么意思?如果我的测试id不是主键并且没有设置为自动递增,它会正常运行吗?对于我目前的问题,我得到了正确的答案,但为了我的知识,我在问..它会运行,只是不会是唯一的。正如@Ampere所建议的,我已经修改了我的答案,加入了
DISTINCT
关键字。虽然这将返回50条记录,但它们不是随机的。好的,它应该由rand()命令返回随机记录。