2016-05-14 69 views
0

我正在查找两个月之间获取记录的查询。 它看起来很简单,但我正在寻找一个查询获取两个不同月份的记录。Mysql查询获取记录两个月之间

即。

一月和四月

查询应显示从一月和四月份的结果,但它不应该对二月和三月的显示效果。

+0

请参阅[如何提出一个很好的问题(HTTP:// HTTP://stackoverflow.com/help/how-to-ask)。你有什么尝试?提供您的代码,您使用的表格,样本数据和期望的输出...等。 – trincot

回答

2

尝试

SELECT * from table_name where month(date_field) = 1 or month(date_field) = 4 

这将显示所有结果为一月和四月,但是对于所有年份。进行筛选的一年,在查询中添加其他检查

SELECT * from table_name where (month(date_field) = 1 or month(date_field) = 4) and year(date_field) = 2016 
+0

我有时间戳字段。它会与时间戳一起工作,还是只与日期字段一起工作? – Auj

+0

是的,它适用于时间戳 –

+0

它可以使用自定义字段。就像我使用php date()函数在varchar字段中存储日期和时间? – Auj

0
SELECT * FROM data where (data.createdAt BETWEEN "2016-01-01" AND "2016-01-31") OR (data.createdAt BETWEEN "2016-04-01" AND "2016-04-31") 
+1

虽然这段代码可能会回答这个问题,但最好包含一些上下文,解释它如何工作以及何时使用它。从长远来看,仅有代码的答案是没有用的。 – Bono