SQL语句查询指定年月份数据,统计某个月的数据~
2025-02-17 09:27 阅读(65)

关注公众号:程序员老左,每天分享程序员职场经验及开发技术!

场景

场景如下: 就拿微信记账本来说,有非常多类似以下一样的场景,需要统计某个月份的数据

前置

首先看下表结构,很简单其实就是一张交易记录表

我这里随便添加了几条数据

解决

非常简单, SQL如下:


select 
  id,
  wx_user_id,
  category_id,
  amount,
  remark,
  create_time
from cashbook_transaction
where 
  wx_user_id = 1 -- 用户ID
  and year(create_time) = 2025 -- 年份
  and month(create_time) = 02 -- 月份
order by create_time desc;

2025-02:全部查出来了,符合预期

2025-01:一条记录没有,符合预期

总结



选择字段:选择了 id, wx_user_id, category_id, amount, remark, 和 create_time 这几个字段的数据。



数据过滤:


wx_user_id = 1 表示只选取 wx_user_id 等于 1 的记录,这通常意味着只获取特定用户的数据;

year(create_time) = 2025 限制了结果集中只包含创建时间为2025年的记录;

month(create_time) = 02 进一步筛选出创建时间在2月份的记录。




排序:通过 order by create_time desc 指令,将最终结果按照 create_time 字段进行降序排列,这意味着最新的交易记录会显示在最前面。

https://www.zuocode.com

主要就是year() 和 month() 日期函数的功劳~ 它们可以直接提取出符合年、月份的数据

month(date_expression):返回date_expression中的月份值

year(date_expression):返回date_expression中的年份值


你猜的没错~ hh~ 日期肯定也是有的,day(date_expression):返回date_expression中的日期值



作者:金金金__

链接:https://juejin.cn