2017-03-17 20 views
1

私はさまざまなカテゴリと各カテゴリの複数のエントリを持つテーブルを持っています。テーブルからランダムに異なる行を選択してください -

Word | Category 
------------------ 
Apple | Food 
Orange | Food 
Grapes | Food 
Mango | Food 

は私が配列$語の内容を印刷する場合、しかし、私は次のクエリを実行するためにカテゴリ「食品」のため

$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']); 
     } 

を3つのランダムな行を取得したい、彼ら時々繰り返す傾向があります(すべての実行ではありません)。

アップル、オレンジ、アップル

すなわちその常にユニークではありません。私は、特定のカテゴリーに対してランダムであるがユニークな単語を選択したい。私は間違って何をしていますか?私は他の関連する回答を試みることを試みたが、私は何かをつまんでいる。私はまた、次のクエリを試みました。

SELECT * FROM table WHERE category='food' GROUP BY category ORDER BY RAND() LIMIT 3 

しかしこれは時折繰り返しを与えます。 wordコラム以来

答えて

2

は、以下のようなGROUP BY wordを行い、同じ値が設定されています - 私はこのビットを逃したか疑問に除い

SELECT * FROM table WHERE category='food' GROUP BY word LIMIT 3 
+0

まあ、私は、言うことを知りません。それを指摘してくれてありがとうx) – Anas

+0

@Anas私たちはすべて間違いから学びます。心配しないでください。あなたを助けてうれしい:) :) –

関連する問題