用户信息按日期统计

用户信息统计

日统计

#日统计作者: 李俊
SELECT A.日期,A.新增注册人数,Z.投资人数,C.新增投资人数,D.投资金额,E.提现金额 FROM
(SELECT DATE_FORMAT(INTIME,'%Y-%m-%d') AS 日期,COUNT(*) AS 新增注册人数 FROM b2015_gblc_user
GROUP BY 日期) A /*计算新增注册人数*/
LEFT JOIN
(SELECT DATE_FORMAT(intime,'%Y-%m-%d') AS 日期,COUNT(DISTINCT uphone) AS 投资人数
FROM `mairuorder`
GROUP BY 日期
) Z
ON A.日期=Z.日期
LEFT JOIN
(SELECT DATE_FORMAT(TZTIME,'%Y-%m-%d') AS 日期,COUNT(PHONE) AS 新增投资人数
FROM
(SELECT uphone AS PHONE,MIN(intime) AS TZTIME FROM mairuorder
GROUP BY uphone
ORDER BY intime ASC) B /*用户第一次投资时间*/
GROUP BY 日期) C /*计算新增投资人数*/
ON A.日期=C.日期
LEFT JOIN
(SELECT DATE_FORMAT(intime,'%Y-%m-%d') AS 日期 ,SUM(SUM) AS 投资金额
FROM mairuorder
GROUP BY 日期) D /*计算用户投资金额*/
ON A.日期=D.日期
LEFT JOIN
(SELECT DATE_FORMAT(INTIME,'%Y-%m-%d') AS 日期,SUM(sum) AS 提现金额 FROM b2015_gblc_cashrecord
WHERE type=1 /*type=1是用户提现,type=2是红包提现*/
GROUP BY 日期) E /*计算用户提现金额*/
ON A.日期=E.日期;

周统计

#周统计作者: 李俊
SELECT A.周数,A.新增注册人数,Z.投资人数,C.新增投资人数,D.投资金额,E.提现金额 FROM
(SELECT DATE_FORMAT(INTIME,'%Y-%u周') AS 周数,COUNT(*) AS 新增注册人数 FROM b2015_gblc_user
GROUP BY 周数) A /*计算新增注册人数*/
LEFT JOIN
(SELECT DATE_FORMAT(intime,'%Y-%u周') AS 周数,COUNT(DISTINCT uphone) AS 投资人数
FROM `mairuorder`
GROUP BY 周数
) Z
ON A.周数=Z.周数
LEFT JOIN
(SELECT DATE_FORMAT(TZTIME,'%Y-%u周') AS 周数,COUNT(PHONE) AS 新增投资人数
FROM
(SELECT uphone AS PHONE,MIN(intime) AS TZTIME FROM mairuorder
GROUP BY uphone
ORDER BY intime ASC) B /*用户第一次投资时间*/
GROUP BY 周数) C /*计算新增投资人数*/
ON A.周数=C.周数
LEFT JOIN
(SELECT DATE_FORMAT(intime,'%Y-%u周') AS 周数 ,SUM(SUM) AS 投资金额
FROM mairuorder
GROUP BY 周数) D /*计算用户投资金额*/
ON A.周数=D.周数
LEFT JOIN
(SELECT DATE_FORMAT(INTIME,'%Y-%u周') AS 周数,SUM(sum) AS 提现金额 FROM b2015_gblc_cashrecord
WHERE type=1 /*type=1是用户提现,type=2是红包提现*/
GROUP BY 周数) E /*计算用户提现金额*/
ON A.周数=E.周数;

月统计

SELECT A.月份,A.新增注册人数,Z.投资人数,C.新增投资人数,D.投资金额,E.提现金额 FROM
(SELECT DATE_FORMAT(INTIME,'%Y-%m月') AS 月份,COUNT(*) AS 新增注册人数 FROM b2015_gblc_user
GROUP BY 月份) A /*计算新增注册人数*/
LEFT JOIN
(SELECT DATE_FORMAT(intime,'%Y-%m月') AS 月份,COUNT(DISTINCT uphone) AS 投资人数
FROM `mairuorder`
GROUP BY 月份
) Z
ON A.月份=Z.月份
LEFT JOIN
(SELECT DATE_FORMAT(TZTIME,'%Y-%m月') AS 月份,COUNT(PHONE) AS 新增投资人数
FROM
(SELECT uphone AS PHONE,MIN(intime) AS TZTIME FROM mairuorder
GROUP BY uphone
ORDER BY intime ASC) B /*用户第一次投资时间*/
GROUP BY 月份) C /*计算新增投资人数*/
ON A.月份=C.月份
LEFT JOIN
(SELECT DATE_FORMAT(intime,'%Y-%m月') AS 月份 ,SUM(SUM) AS 投资金额
FROM mairuorder
GROUP BY 月份) D /*计算用户投资金额*/
ON A.月份=D.月份
LEFT JOIN
(SELECT DATE_FORMAT(INTIME,'%Y-%m月') AS 月份,SUM(sum) AS 提现金额 FROM b2015_gblc_cashrecord
WHERE type=1 /*type=1是用户提现,type=2是红包提现*/
GROUP BY 月份) E /*计算用户提现金额*/
ON A.月份=E.月份;

季统计

SELECT A.季度,A.新增注册人数,Z.投资人数,C.新增投资人数,D.投资金额,E.提现金额 FROM
(SELECT CONCAT(YEAR(intime),'-',QUARTER(intime),'季度') AS 季度,COUNT(*) AS 新增注册人数 FROM b2015_gblc_user
GROUP BY 季度) A /*计算新增注册人数*/
LEFT JOIN
(SELECT CONCAT(YEAR(intime),'-',QUARTER(intime),'季度') AS 季度,COUNT(DISTINCT uphone) AS 投资人数
FROM `mairuorder`
GROUP BY 季度
) Z
ON A.季度=Z.季度
LEFT JOIN
(SELECT CONCAT(YEAR(TZtime),'-',QUARTER(TZTIME),'季度') AS 季度,COUNT(PHONE) AS 新增投资人数
FROM
(SELECT uphone AS PHONE,MIN(intime) AS TZTIME FROM mairuorder
GROUP BY uphone
ORDER BY intime ASC) B /*用户第一次投资时间*/
GROUP BY 季度) C /*计算新增投资人数*/
ON A.季度=C.季度
LEFT JOIN
(SELECT CONCAT(YEAR(intime),'-',QUARTER(intime),'季度') AS 季度 ,SUM(SUM) AS 投资金额
FROM mairuorder
GROUP BY 季度) D /*计算用户投资金额*/
ON A.季度=D.季度
LEFT JOIN
(SELECT CONCAT(YEAR(intime),'-',QUARTER(intime),'季度') AS 季度,SUM(sum) AS 提现金额 FROM b2015_gblc_cashrecord
WHERE type=1 /*type=1是用户提现,type=2是红包提现*/
GROUP BY 季度) E /*计算用户提现金额*/
ON A.季度=E.季度;

年统计

SELECT A.年份,A.新增注册人数,Z.投资人数,C.新增投资人数,D.投资金额,E.提现金额 FROM
(SELECT DATE_FORMAT(INTIME,'%Y') AS 年份,COUNT(*) AS 新增注册人数 FROM b2015_gblc_user
GROUP BY 年份) A /*计算新增注册人数*/
LEFT JOIN
(SELECT DATE_FORMAT(intime,'%Y') AS 年份,COUNT(DISTINCT uphone) AS 投资人数
FROM `mairuorder`
GROUP BY 年份
) Z
ON A.年份=Z.年份
LEFT JOIN
(SELECT DATE_FORMAT(TZTIME,'%Y') AS 年份,COUNT(PHONE) AS 新增投资人数
FROM
(SELECT uphone AS PHONE,MIN(intime) AS TZTIME FROM mairuorder
GROUP BY uphone
ORDER BY intime ASC) B /*用户第一次投资时间*/
GROUP BY 年份) C /*计算新增投资人数*/
ON A.年份=C.年份
LEFT JOIN
(SELECT DATE_FORMAT(intime,'%Y') AS 年份 ,SUM(SUM) AS 投资金额
FROM mairuorder
GROUP BY 年份) D /*计算用户投资金额*/
ON A.年份=D.年份
LEFT JOIN
(SELECT DATE_FORMAT(INTIME,'%Y') AS 年份,SUM(sum) AS 提现金额 FROM b2015_gblc_cashrecord
WHERE type=1 /*type=1是用户提现,type=2是红包提现*/
GROUP BY 年份) E /*计算用户提现金额*/
ON A.年份=E.年份;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 自己的挫折,自己的困境,让我慢慢意识到,我的情商很低,真的很低很低。 我是一个善良的人,在一个团队里,日久都会见我...
    愤怒的小小小鸟阅读 180评论 0 0
  • 2017年8月23 星期三 阵雨 因为雨至,有风吹过,是凉爽,故而秋意起。 今日忆往昔,不可追忆。 静下心来...
    漫漫无忧阅读 360评论 12 10
  • 01 岁月变迁,时光荏苒。转眼间我的家乡——包头。发生了很大的变化。从穷乡僻壤,再到高楼大厦, 我的家乡经历了几十...
    微风细雨__阅读 211评论 0 0
  • 前言有时候我们需要多个不同的Python运行环境, Python2, Python3或者不同包环境Conda的环境...
    孙小二wuk阅读 3,924评论 0 1