簡體   English   中英

MySQL加入和條件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM