用Mysql表示上个月26号到本月的25号的所有记录

这是当时的一个需求接口,当时也是想了很久,给大家分享一下!

select * from 表

where 字段名>=subdate(date_sub(curdate(),interval 1 month), date_format(date_sub(curdate(),interval 1 month),'%e')-26) and 

字段名<=date_sub(date_format(now(),'%y-%m-%d'),interval extract( day from now())-25 day)
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是基于MySQL本月消费记录的表结构和示例数据: ```sql CREATE TABLE `consumption` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `type` VARCHAR(10) NOT NULL COMMENT '消费类型', `amount` DECIMAL(10, 2) NOT NULL COMMENT '消费金额', `date` DATE NOT NULL COMMENT '消费期' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='本月消费记录表'; INSERT INTO `consumption` (`type`, `amount`, `date`) VALUES ('租套餐', 128.00, '2021-11-01'), ('流量消费', 56.70, '2021-11-05'), ('通话消费', 18.90, '2021-11-10'), ('租套餐', 128.00, '2021-11-15'), ('流量消费', 34.50, '2021-11-20'), ('通话消费', 28.80, '2021-11-25'); ``` 上述表结构包含了消费类型、消费金额、消费期等字段。其中,消费类型包括租套餐、流量消费、通话消费三种类型。示例数据中,记录本月的消费情况,包括两次租套餐消费、两次流量消费、两次通话消费。 如果您需要查询本月的消费总额,可以使用以下SQL语句: ```sql SELECT SUM(amount) AS total_amount FROM consumption WHERE date >= DATE_FORMAT(NOW(), '%Y-%m-01') AND date <= LAST_DAY(NOW()); ``` 该SQL语句使用了MySQL的聚合函数SUM来计算本月的消费总额,并通过WHERE子句筛选出本月的消费记录。具体而言,WHERE子句使用了DATE_FORMAT函数获取本月的起始期(即1),使用LAST_DAY函数获取本月的结束期。最终,该SQL语句会返回一个名为total_amount的字段,该字段表示本月的消费总额。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值