我正在使用此SQL代码从问题表中选择随机条目。
我想为此查询添加一个条件。基本上,该表具有用户ID记录,以跟踪谁添加了问题。此id记录现在将与Join Query一起使用。
基本上:选择随机问题条目并验证它是否属于给定的用户ID。
SELECT *
FROM Questions JOIN
(SELECT CEIL(RAND() *
(SELECT MAX(Question_ID)
FROM Questions )) AS Question_ID
) AS r2
USING (Question_ID) ;
我尝试添加这样的条件:
And UID='$user_ID'
但是我得到一个空白页面,所以我想通过添加这样的条件,我搞乱了整个查询。基本上,我无法弄清楚如何处理这个条件......
答案 0 :(得分:0)
SELECT *
FROM Questions JOIN
(SELECT CEIL(RAND() *
(SELECT MAX(Question_ID)
FROM Questions WHERE UID='$user_ID')) AS Question_ID
) AS r2
USING (Question_ID) ;
答案 1 :(得分:0)
PHP中的''
引号表示文字字符串,而""
输入变量,它们不可互换。如果使用''
,您可以通过'{$var}'
输入变量。
如果你的表非常大,那么在它上运行RAND()会很慢,并且最好传递一个在PHP中生成的随机id。
随机来自PHP:
SELECT *
FROM Questions as q
WHERE q.UID = $user_ID AND q.ID = $randomID;\
从SQL随机:
SELECT *
FROM Questions as q
WHERE q.UID = $user_ID
ORDER BY RAND()
LIMIT 1;