查询每个月的收入

select year(consume_date) 年, month(consume_date) 月,
round(sum(money),2) 收入
from account_book
where type = 1
group by year(consume_date),month(consume_date);

查询 6 个月前的数据

# CURDATE():当前日期,2020-04-20
# DATE_SUB(CURDATE(), INTERVAL 6 MONTH):6个月前,2019-10-20
select * from account_book where consume_date > DATE_SUB(CURDATE(), INTERVAL 6 MONTH)

附录:Date 函数相关的衍生

Date 函数

函数 描述
NOW() 返回当前的日期和时间
CURDATE() 返回当前的日期
CURTIME() 返回当前的时间
DATE() 提取日期或日期/时间表达式的日期部分
EXTRACT() 返回日期/时间按的单独部分
DATE_ADD() 给日期添加指定的时间间隔
DATE_SUB() 从日期减去指定的时间间隔
DATEDIFF() 返回两个日期之间的天数
DATE_FORMAT() 用不同的格式显示日期/时间

查找最近 N 个(月,天,年)的数据

  • 从当前的日期开始的 N 个月前的日期:DATE_SUB(CURDATE(), INTERVAL N MONTH)

DATE_SUB() 函数

DATE_SUB() 函数从日期减去指定的时间间隔

具体函数参数可以参考该链接:DATE_SUB() 函数

Type 值 说明
MICROSECOND 毫秒
SECOND
MINUTE 分钟
HOUR 小时
DAY
WEEK
MONTH
QUARTER
YEAR
SECOND_MICROSECOND
MINUTE_MICROSECOND
MINUTE_SECOND
HOUR_MICROSECOND
HOUR_SECOND
HOUR_MINUTE 小时、分钟
DAY_MICROSECOND 天、微妙
DAY_SECOND 第二天
DAY_MINUTE 天、分钟
DAY_HOUR
YEAR_MONTH 年、月

示例: