php mysql查询语法

Jam*_*lle 4 php mysql sql

我桌子上有这些字段

month
year
Run Code Online (Sandbox Code Playgroud)

我想基于此进行查询

month BETWEEN 4 AND 12 AND year = 2008
Run Code Online (Sandbox Code Playgroud)

要么

month BETWEEN 1 AND 10 AND year is greater than 2008 but equal or less than 2009
Run Code Online (Sandbox Code Playgroud)

我试过这个,但没有给出正确的查询结果.

"WHERE month BETWEEN 4 AND 12 AND year = 2008 OR month BETWEEN 1 AND 10 AND year 2008<=2009";
Run Code Online (Sandbox Code Playgroud)

注意:这里的数字是可变的,我显示实际的数字让你很容易理解:)任何帮助?

year =(2008 <= 2009)意味着年份必须大于2008年但等于或小于2009年

Joe*_*eph 10

试试这个:

where (year*100)+month between  200804 and  200910
Run Code Online (Sandbox Code Playgroud)

这将照顾所有场景..即使这些年份之间的差异不止一个


小智 5

"WHERE ((month BETWEEN 4 AND 12) AND year = 2008) OR ((month BETWEEN 1 AND 10) AND (year 2008 OR 2009))";
Run Code Online (Sandbox Code Playgroud)

希望它有帮助:)