2010-10-05 76 views
3

我曾見過一個同事使用這些條件下,從表中獲取的用戶:MySQL:使用BETWEEN的多個AND查詢?

SELECT * FROM users WHERE gender ='male' 
AND activated='yes' 
AND date_registered BETWEEN '$date1' AND '$date2' 

他說,有一個問題(它不輸出時AND activated='yes'放在那裏,以及任何行,但沒有mysql被拋出的錯誤。

你能不能做到這一點嗎?你需要把它放在括號或一些瘋狂關聯的BETWEENAND

日期是由方式正確的格式。

+2

我的第一個猜測是,沒有行匹配在這種情況下,查詢... – JoshD 2010-10-05 19:21:16

回答

7

不,它會工作得很好。但是,您可能要格式化您的查詢,以便很清楚這AND是獨立的,並屬於BETWEEN .. AND ...聲明:

SELECT * FROM users 
WHERE gender ='male' 
    AND activated='yes' 
    AND date_registered BETWEEN '$date1' AND '$date2' 
+0

我會提及他對他的進一步任務,我會在我回來後接受你的回答,我需要去! – John 2010-10-05 19:24:40

4

不需要括號。你有正確的語法。

+0

謝謝你,這使得它更容易解釋。 – John 2010-10-05 19:24:03