在mysql中随机化结果

时间:2012-01-15 14:35:32

标签: php mysql sql

我正在制作一个抽奖活动,我希望这个人的名字是随机的,但不要重复任何记录。我在下面两个查询之间进行选择。第一个是确保从返回的结果中不重复记录,但牺牲了具有更高id的人,因为他们不会被选中。第二个是随机的,但可能会选择重复记录。有没有其他方法可以在mysql或php中实现随机记录而不重复任何返回的结果?

$select_random = $db->get_results("SELECT person FROM tbl_people WHERE state = 1  LIMIT $offset, 30");

$select_random = $db->get_results("SELECT participant FROM tbl_participants WHERE state = 1 ORDER BY RAND()");

1 个答案:

答案 0 :(得分:5)

如何添加DISTINCT

$select_random = $db->get_results("SELECT DISTINCT person FROM tbl_people WHERE state = 1  LIMIT $offset, 30");

$select_random = $db->get_results("SELECT DISTINCT participant FROM tbl_participants WHERE state = 1 ORDER BY RAND()");