mysql选择大于或小于多个列的位置
我有一个以月和年为列的专栏。。我需要从列中选择一个范围。。它们似乎不适用于2个范围 桌子 Select语句:mysql选择大于或小于多个列的位置,mysql,Mysql,我有一个以月和年为列的专栏。。我需要从列中选择一个范围。。它们似乎不适用于2个范围 桌子 Select语句: SELECT * FROM sampletable WHERE AccountId = 1 and (`Month` >= 10 AND `Year` = 2012) and (`Month` <= 2 AND `Year` = 2013) ORDER BY Year asc, month asc 这似乎不起作用 我是否必须将这些转换为日期格式并在之间使用?以实现您想要的
SELECT * FROM sampletable
WHERE AccountId = 1
and (`Month` >= 10 AND `Year` = 2012)
and (`Month` <= 2 AND `Year` = 2013)
ORDER BY Year asc, month asc
这似乎不起作用
我是否必须将这些转换为日期格式并在之间使用?以实现您想要的使用或“代替”和。以实现您想要的使用或“代替”和。将条件括在括号内并使用或
and (
(`Month` >= 10 AND `Year` = 2012)
or (`Month` <= 2 AND `Year` = 2013))
将条件括在括号内,并使用或
你所做的事情类似于试图同时向左和向右移动 让我们打破WHERE子句 您正在告诉MySQL使用获取行 年份=2012年和年份=2013年
月份>=10和月份你正在做的事情类似于试图同时向左和向右移动 让我们打破WHERE子句 您正在告诉MySQL使用获取行 年份=2012年和年份=2013年 月份>=10和月份
and (
(`Month` >= 10 AND `Year` = 2012)
or (`Month` <= 2 AND `Year` = 2013))
SELECT ...
FROM ...
WHERE AccountId = 1 AND
((`Month` >= 10 AND `Year` = 2012) OR (`Month` <= 2 AND `Year` = 2013) )
WHERE AccountId = 1
and ((`Month` >= 10 AND `Year` = 2012)
OR (`Month` <= 2 AND `Year` = 2013))