我有一个包含以下列的表格
id status created_at
1 close ..
2 close ..
3 open ..
现在,我正在尝试以这种方式获取所有三个月以上的记录
select * from table where created_at >= NOW() - interval 3 month
但是我还想要开放且早于3个月的记录,如何在同一sql中添加该条件?
答案 0 :(得分:1)
只需将该条件添加到您的where
子句中即可。请注意,您不需要在条件中包括“大于3个月”的部分,因为无论如何,where
子句的第一部分都会提取3个月以上的任何东西,因此OR status = 'open'
将仅找到3个月以上的其他记录。
select *
from table
where columnX = 'some ID' AND
(created_at >= NOW() - interval 3 month OR status = 'open')
答案 1 :(得分:0)
您可以尝试使用OR
select * from table where created_at >= NOW() - interval 3 month
or (status='open' and created_at < NOW() - interval 3 month)
答案 2 :(得分:0)
使用OR
select * from table where created_at >= NOW() - interval 3 month or status='open'
答案 3 :(得分:0)
Select * from Table where add_date(date_column, interval 3 month)> now() or status = "open";