【mysql】查询本月和去年同期数据SQL
思路
- 首先将数据源中的日期字段,使用日期格式化函数,格式化为Y-M的形式
- 增加一列,使用日期格式化函数,获取去年的月份信息,命名为LAST_DATE
- 对同一个视图,进行左连接,获取当月的金额以及去年该月份的金额
实现关键代码
生成中间视图:
SELECTsum(`c`.`DISTRIBUTION_MONEY_`) AS `C_MONEY_`,`c`.`BRAND_TYPE_` AS `C_TYPE_`,(CASEWHEN ((`c`.`CITY_` = '咸阳市')OR (`c`.`CITY_` = '宝鸡市')OR (`c`.`CITY_` = '汉中市')OR (`c`.`CITY_` = '安康市')) THEN'宝鸡'WHEN ((`c`.`CITY_` = '渭南市')OR (`c`.`CITY_` = '商洛市')OR (`c`.`CITY_` = '榆林市')OR (`c`.`CITY_` = '延安市')) THEN'渭南'ELSE'西安'END) AS `C_RESION_`,date_format((`c`.`SIGNING_DATE_` - INTERVAL 1 YEAR),'%Y-%m') AS `C_LAST_DATE_`,date_format(`c`.`SIGNING_DATE_`,'%Y-%m') AS `C_DATE_`
FROM`t_import_contract_detail` `c`
WHERE(1 = 1)
GROUP BY`c`.`BRAND_TYPE_`,`C_RESION_`,`C_DATE_`
核心代码:
date_format((`c`.`SIGNING_DATE_` - INTERVAL 1 YEAR),'%Y-%m') AS `C_LAST_DATE_`,date_format(`c`.`SIGNING_DATE_`,'%Y-%m') AS `C_DATE_`
使用左连接,从而获取本月的去年同期数据
SELECT`a`.`C_TYPE_` AS `C_TYPE_`,`a`.`C_RESION_` AS `C_RESION_`,`a`.`C_DATE_` AS `C_DATE_`,`a`.`C_MONEY_` AS `C_MONEY_`,`a`.`C_LAST_DATE_` AS `C_LAST_DATE_`,`b`.`C_MONEY_` AS `C_LAST_MONEY`
FROM(`v_chart_contract` `a`
LEFT JOIN `v_chart_contract` `b` ON (((`a`.`C_LAST_DATE_` = `b`.`C_DATE_`
)AND (`a`.`C_RESION_` = `b`.`C_RESION_`
)AND (`a`.`C_TYPE_` = `b`.`C_TYPE_`
))))
核心代码:
a`.`C_LAST_DATE_` = `b`.`C_DATE_`
效果
【mysql】查询本月和去年同期数据SQL相关推荐
- Mysql查询本月和上个月的数据
MySql查询本月 select count(*) from tb_order where date_format( create_time, '%Y-%m') = date_format(now() ...
- mysql查询时间段内的数据
mysql查询时间段内的数据 -- 今天 select fullName,addedTime from t_user where to_days(addedTime) <= to_days(no ...
- mysql查询某时间段的数据
mysql查询某时间段的数据 1.查询今天.昨天.近7天.近30天数据 2.查询本周.上周数据 3.查询本月.上个月.距离当前现在6个月的数据 4.查询本季度.上个季度数据 5.查询今年.昨年数据 6 ...
- MySql查询随机几条数据
MySql查询随机几条数据 想到了 Max RAND 这几个函数 用以下2种办法都可以实现查询. 速度还行. 我的 IT技术资源库 http://www.itlib.tk/ 几十万数据左右 ...
- MySQL查询最近7天数据
MySQL 查询最近7天数据 MySQL 查询最近7天数据 引用别人的博客内容,如有侵权,联系删除! 链接: mysql 日期取近七天.当前周七天 数据(补全空数据) 简单案例. 根据自己的工作稍作总 ...
- mysql 查询本年当前季度数据 ,SQL查询当前季度的数据
使用如下 查询当前季度的数据 <select id="selAccumulativeTotalByQuarter" resultType="java.util.Ma ...
- mysql 查询各个时间段的数据
点个收藏,以后查询时间段数据了,随时查看. -- 1 . 查看当天日期 2021-03-24 select current_date();-- 2. 查看当天时间 14:38:26 select cu ...
- mysql查询表里的重复数据方法
1 2 3 4 INSERT INTO hk_test(username, passwd) VALUES ('qmf1', 'qmf1'),('qmf2', 'qmf11') delete fro ...
- mysql查询表里的重复数据方法:
1 2 3 4 INSERT INTO hk_test(username, passwd) VALUES ('qmf1', 'qmf1'),('qmf2', 'qmf11') delete from ...
- beego mysql 查询_beego orm如何执行SQL查询
beego orm包除了支持model查询的方式,也支持直接编写sql语句的方式查询数据. sql原生查询有如下特点: 使用 Raw SQL 查询,无需使用 ORM 表定义 多数据库,都可直接使用占位 ...
最新文章
- 查看mysql主外键信息
- js如何生成一个对象,并转化为json字符串
- oracle restart 静默安装,CentOS下静默安装Oracle 10.2.0.1.0
- Algorithm of permutation(全排列算法)
- Java初学者的学习思路与建议
- 免费Linux系统和生信宝典原创学习教程
- postgres+socket.io+nodejs实时地图应用实践
- C++ 一篇文章让你知道智能指针的魅力
- 山东女子学院计算机专业分数线,山东女子学院2020年山东省本科专业录取分数统计(含位次)...
- WordPress学习笔记(二)插件安装
- “bim”技术助力“智慧城市”建设
- go语言中文件的操作:
- python爬取网页数据出现中文乱码解决办法
- 当天剩余时间,当月剩余时间(秒数),用于redis设置过期时间
- 安庆集团-冲刺日志(第五天)
- linux snappy 版本,snappy初级文档
- 深入理解JVM—第二章:Java内存区域与内存溢出异常
- OPCUA 设置登录用户名与密码
- 微信多订单合并付款_微信小商店订单合并打单,操作分享请收藏!
- 分别使用正则表达式的子模式编号和子模式命名两种方法匹配ABAC、AABB、ABAB式成语
热门文章
- java更新word目录_java aspose.words 生成word目录和更新目录
- 数据库设计其一,前置库的使用场景
- 十三水牌型 图片_十三水三分天下是什么 十三水三分天下牌型详解
- 关于Windows和Linux的那些事儿
- 西安80转2000坐标系重新定义投影
- gnome桌面kali linux状态栏显示网速
- WebRTC之视频采集
- arm体系结构:arm920t
- apache php gd,lanp(linux+apache+gd库+php)的安装
- roundcube邮箱手机端_用户换了手机号码后,产品该如何应对?