用戶信息統計
日統計
#日統計作者: 李俊
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.年份;