[英]PHP - MYSQL not returning result within set parameters
這是我正在運行的sql代碼:
SELECT * FROM documents WHERE cat=1 OR cat=3 AND date>=2001 AND date<=2003 AND run <90 ORDER BY RAND() LIMIT 0,10
它應返回2001-2003年之間第1類或第3類的所有條目,其中運行隨機數小於90,結果限制為10。
問題是它忽略了日期和運行參數,如果您分別運行所有內容,它們將起作用,但是像上面一樣,它們一起只能從類別1和類別3中返回10個帶有任何日期/運行的隨機條目。
知道為什么嗎?
謝謝。
在這種情況下,可能需要在OR
語句兩邊加上括號;
SELECT * FROM documents WHERE (cat=1 OR cat=3) AND date>=2001 AND date<=2003 AND run <90 ORDER BY RAND() LIMIT 0,10
SELECT *
FROM documents
WHERE (cat=1 OR cat=3)
AND date>=2001
AND date<=2003
AND run <90
ORDER BY RAND()
LIMIT 0,10
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.