MySQL选择上个月到(now()-1个月)的所有行,以进行比较
我需要一些帮助来编写MySQL查询,以显示上个月的行,但不显示整个月的行,仅显示直到现在的同一天,一小时和一分钟,直到now()为止,而仅显示一个月前。
因此,例如,如果今天是下午5:25的5/19,我需要选择4/19午夜12:00 am 4/1到5:25 pm的行(当然也要从同一年开始)。
谢谢!
回答:
您可以通过计算前一个月的last_day并添加一天来获得该月的第一天。这很尴尬,但我认为这比将日期格式化为字符串并将其用于计算更好。
select *
from
yourtable t
where
/* Greater or equal to the start of last month */
t.date >= DATE_ADD(LAST_DAY(DATE_SUB(NOW(), INTERVAL 2 MONTH)), INTERVAL 1 DAY) and
/* Smaller or equal than one month ago */
t.date <= DATE_SUB(NOW(), INTERVAL 1 MONTH)
以上是 MySQL选择上个月到(now()-1个月)的所有行,以进行比较 的全部内容, 来源链接: utcz.com/qa/434093.html