我想从我的MySQL服务器获取最近x个月的所有记录。以2个月为例(不是过去2个月,如过去60天,而是过去一个月等等,如果实际月份是4月份,我需要2月份和3月份的所有记录)。 我已经尝试了一些疑问,最后一个是从上个x月排名查询
SELECT id FROM ranking WHERE (end_date BETWEEN DATE_FORMAT(NOW(), '%Y-%m-01') AND DATE_FORMAT(LAST_DAY(NOW() - INTERVAL 2 MONTH), '%Y-%m-%d'))
“END_DATE”是我的日期列是一个DATE列“2017年4月7日”。
上面的查询只返回任何内容,我不知道错误在哪里。
什么数据类型是end_date? – McNets
在查询中尝试使用“end_date> = dateadd(month,-2,getdate())”。让我知道它是否有效 –
@McNets,这只是一个例子,哈哈。实际查询更大更复杂,因此我将其简化为涵盖“错误”,并且我必须承认发明列名称时非常可怕:/ –