在正常的业务逻辑中,对客户的分析是必须的也是最经常用到的,根据时间维度计算计算指标连续两月环比情况也是一道必须面对的题目。

国庆放假 先写代码 后面再拆分解释

SELECT a.*,b.年月 AS 上月,b.金额 AS 上月金额,(a.金额-b.金额) AS 金额较上月增长
FROM ( SELECT a2.*,(@i:=@i+1) AS ID1
FROM (
SELECT a1.city AS 城市,username AS 用户ID,DATE_FORMAT(a1.order_date,"%Y%m") AS 年月,SUM(a1.pay_money) AS 金额,LAST_DAY(order_date) AS 月最后一天
FROM `test_a03order` AS a1
WHERE a1.pay_money >0
GROUP BY a1.city,a1.username,DATE_FORMAT(a1.order_date,"%Y%m")
) AS a2,(SELECT @i:=0) AS it1 #ID1从1自增长
) AS a
LEFT JOIN (#和上面代码一样 无非是ID一个从1 一个从2 通过ID相等 把所有数据记录下沉一行
SELECT b2.*,(@j:=@j+1) AS ID2
FROM (
SELECT b1.city AS 城市,username AS 用户ID,DATE_FORMAT(b1.order_date,"%Y%m") AS 年月,SUM(b1.pay_money) AS 金额,LAST_DAY(order_date) AS 月最后一天
FROM `test_a03order` AS b1
WHERE b1.pay_money >0
GROUP BY b1.city,b1.username,DATE_FORMAT(b1.order_date,"%Y%m")
) AS b2,(SELECT @j:=1) AS it2#ID2从2自增长
) AS b ON a.ID1=b.ID2 AND a.用户ID=b.用户ID AND PERIOD_DIFF(DATE_FORMAT(a.月最后一天,"%Y%m"),DATE_FORMAT(b.月最后一天,"%Y%m"))=1#同一用户相连两月金额保持在一行

MySQL计算指标连续两月金额相比_20160929的更多相关文章

  1. Mysql计算并保留两位小数

    如:123456.789 转成 123456.79 自动,));

  2. 数据分析体系 — 用户粘性的两个计算指标(DAU/MAU和月人均活跃天数)

    很多运营都了解DAU(日活跃用户数)和MAU(月活跃用户数)的重要性,但在某些情况下这两个数值本身并不能反映出太多问题,这个时候就要引用到[DAU/MAU]的概念,即[日活/月活] 用户粘性的两个计算 ...

  3. mysql计算连续天数,mysql连续登录天数,连续天数统计

    mysql计算连续天数,mysql连续登录天数,连续天数统计 >>>>>>>>>>>>>>>>>& ...

  4. mysql计算两个日期之间的天数

    MYSQL自带函数计算给定的两个日期的间隔天数   有两个途径可获得   1.利用TO_DAYS函数   select to_days(now()) - to_days('20120512')   2 ...

  5. MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数

    MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数 计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数,这里主要分享的是通过MySql内置的函数 TimeStampDiff() ...

  6. MySql计算两个日期的时间差函数

    MySql计算两个日期时间的差函数: 第一种:TIMESTAMPDIFF函数,需要传入三个参数,第一个是比较的类型,可以比较FRAC_SECOND.SECOND. MINUTE. HOUR. DAY. ...

  7. mysql计算时间差函数

    MySql计算两个日期的时间差函数TIMESTAMPDIFF用法,只要用一句SQL语句就可以办到了. MySql计算两个日期的时间差函数TIMESTAMPDIFF用法: 语法: TIMESTAMPDI ...

  8. MySQL计算时间差

    MySQL计算两个日期的时间差函数:TIMESTAMPDIFF 语法: TIMESTAMPDIFF(interval, datetime_expr1, datetime_expr2) interval ...

  9. Gartner 2018 数据库系列报告发布 巨杉数据库连续两年入选

    近期,Gartner陆续发布了2018年的数据库系列报告,包括<数据库魔力象限><数据库核心能力>以及<数据库推荐报告>.其中,SequoiaDB巨杉数据库作为业界 ...

随机推荐

  1. VM tools安装错误The path &quot;&quot; is not a valid path to the xx generic kernel headers.

    在网上搜索非常多解决方式.并不适用于我的问题,最后通过下面步骤解决: 1. 更新软件源(防止build-essential不能 安装),然后安装build-essential和linu-headers ...

  2. 36:字符串排序SortString

    题目描述:编写一个程序,将输入字符串中的字符按如下规则排序. 规则1:英文字母从A到Z排列,不区分大小写. 如,输入:Type 输出:epTy 规则2:同一个英文字母的大小写同时存在时,按照输入顺序排 ...

  3. tomcat报错: Error parsing HTTP request header

    Error parsing HTTP request header 在服务器上面集成项目的时候,tomcat报错,在往上面查找是因为eclipse运行的tomcat和服务器上面的tomcat版本不一致 ...

  4. 【强网杯2018】逆向hide

    这是事后才做出来的,网上没有找到现成的writeup,所以在这里记录一下 UPX加壳,而且linux下upx -d无法解,也无法gdb/ida attach 因为是64位,所以没有pushad,只能挨 ...

  5. python爬虫获取百度图片(没有精华,只为娱乐)

    python3.7,爬虫技术,获取百度图片资源,msg为查询内容,cnt为查询的页数,大家快点来爬起来.注:现在只能爬取到百度的小图片,以后有大图片的方法,我会陆续发贴. #!/usr/bin/env ...

  6. 在dev目录创建一个字符设备驱动的流程

    1.struct file_operations 字符设备文件接口 1: static int mpu_open(struct inode *inode, struct file *file) 2: ...

  7. 【Selenium + Python】路径报错之OSError: [Errno 22] Invalid argument: './t/report/2018-03-23_11:03:12_report.html'

    现象: 此问题真的是太痛苦了,查了好多资料是说路径的问题,结果还是报错,后来一点点的排查才发现原来是!!!!!! 废话不多说上原来代码: if __name__ == '__main__': star ...

  8. 15 nginx反向代理实现nginx+apache动静分离

    一:nginx反向代理实现nginx+apache动静分离-------------概念--------------------------- nginx反向代理服务器+负载均衡 用nginx做反向代 ...

  9. Linux 批量替换的一种实现方式

    替换某目录下所有文件中的某个字符: sed -i 's/origin_str/new_str/g' `grep origin_str -rl ./` origin_str:被替换的字符串: new_s ...

  10. Android 事件分发机制 图解

    在Android 开发中事件分发是比较重要的,也是比较难理解的,之前看过这方面的东西,以为自己弄懂了,也就没太注意,最近面试呢,想着肯定要问到这一块的东西,回顾的时候发现又忘了,真是好记性不如烂笔头啊 ...