我正在制作一个抽奖程序,我希望这个人的名字是随机的,但不重复任何记录。我在下面的两个查询之间进行选择。第一个确保没有记录从返回的结果中重复,但是牺牲了具有更高 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()");
最佳答案
如何添加 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()");
关于php - 在mysql中随机化结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8870479/