查询每个月的收入
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 | 年、月 |
示例: