【发布时间】:2021-10-15 10:18:56
【问题描述】:
我尝试使用 ORDER BY RAND() 从我的数据库中获取随机数据。我将数据库的限制设置为下面的代码,但它仍然给出了所有数据,限制不起作用。我能知道为什么吗?我希望有人可以帮助我,因为我不擅长 SQL 语句。最后一个问题,如果我们使用 ORDER BY RAND() 可能会得到重复数据,如何使数据不重复?先感谢您。我使用php代码。
<?php
/*
* Get total questions
*/
$query = "SELECT * FROM `questengine` ";
//Get result
$results = $mysqli->query($query) or die($mysqli->error.__LINE__);
$total = $results->num_rows;
/*
* Get Question
*/
$query = "SELECT * FROM `questengine`ORDER BY RAND() LIMIT 5";
//Get result
$result = $mysqli->query($query) or die($mysqli->error.__LINE__);
$question = $result->fetch_assoc();
/*
* Get Choices
*/
$query = "SELECT * FROM `choicesengine`
WHERE question_number = ".$question['id'];
//Get results
$choices = $mysqli->query($query) or die($mysqli->error.__LINE__);
?>
【问题讨论】:
-
您的代码中有三个查询,只有一个带有
LIMIT。你有没有把他们弄糊涂? -
我做了 3 个查询,因为我想 MCQ 问题,第一个查询得到总问题,第二个得到问题,第三个查询得到答案。我有 50 个问题,我想将其限制为 20 个,但它不适用于我使用的代码。
标签: php sql sql-order-by