我有一个包含各种类别的表格,以及每个类别的多个条目。
Word | Category
------------------
Apple | Food
Orange | Food
Grapes | Food
Mango | Food
我希望为“food”类别检索3个随机行,我为此运行以下查询
$query = "SELECT * FROM table WHERE category='food' ORDER BY RAND() LIMIT 3"
$fetch_row = mysqli_query($db_connect, $query);
while ($row = mysqli_fetch_array($fetch_row)) {
array_push($words, $row['word']);
}
然而,当我打印数组$ words的内容时,它们有时会重复(不是所有运行),例如;
Apple,Orange,Apple
即。它并不总是独特的。我想为给定的类别选择随机但独特的单词。我究竟做错了什么?我已经尝试过其他相关的答案,但我一直搞砸了。我也尝试了以下查询;
SELECT * FROM table WHERE category='food' GROUP BY category ORDER BY RAND() LIMIT 3
但这仍然偶尔会重复。
答案 0 :(得分:2)
由于word
列具有相同的值,请执行以下GROUP BY word
: -
SELECT * FROM table WHERE category='food' GROUP BY word LIMIT 3