[英]Generate a specific random number for mysql
嗨,我正在做一個程序給問題,但是這個問題需要針對不同的用戶,現在我需要在mysql中隨機生成問題,嘗試使用RAND(),但是我不能保證它可以很好地滿足我的要求,這不是工作:
SELECT * FROM oscuro.answers
INNER JOIN questions ON answers.question_id = questions.id
INNER JOIN sub_categories ON questions.sub_category_id = sub_categories.id
WHERE sub_categories.category_id = 1 AND questions.id > RAND();
我需要questions.id
表中所有記錄的隨機數,這應該給出一個包含該問題所有答案的隨機問題。 我如何只為該字段生成隨機數?
您可以對子查詢進行聯接。 一個簡單的例子:
> SELECT * FROM `foo`;
+----+
| id |
+----+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
+----+
> SELECT * FROM foo
> INNER JOIN
> (SELECT RAND() as random_number)
> as sqy;
+----+---------------------+
| id | random_number |
+----+---------------------+
| 1 | 0.16365532499147142 |
| 2 | 0.16365532499147142 |
| 3 | 0.16365532499147142 |
| 4 | 0.16365532499147142 |
| 5 | 0.16365532499147142 |
+----+---------------------+
所以你的情況
> SELECT * FROM oscuro.answers
> INNER JOIN questions
> ON answers.question_id = questions.id
> INNER JOIN sub_categories
> ON questions.sub_category_id = sub_categories.id
> INNER JOIN (SELECT RAND() as random_number) as sqy
> WHERE
> sub_categories.category_id = 1
> AND
> questions.id > random_number;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.