在mysql中随机化结果

Wer*_*eta 0 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()");
Run Code Online (Sandbox Code Playgroud)

Joh*_*Woo 5

如何添加 DISTINCT

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

要么

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