[英]MySQL Join with And condition
我正在使用此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'
但是我得到的結果是空白頁,所以我想通過添加這樣的條件,我弄亂了整個查詢。 基本上,我不知道該如何處理...
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) ;
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;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.