数据统计SQL备忘
admin
2023-05-16 05:21:55
0

1、统计9月注册角色首次充值时的游戏时长分布(分钟,人数),单位:分钟

SELECT sub.minutes,
       Count(roleId) AS count
FROM   (SELECT pr.roleId,
               Timestampdiff(MINUTE, Max(player_login.logTime), pr.logTime)
               + Ifnull(Max(player_logout.totalOnlineMins), 0) AS minutes
        FROM   (SELECT logTime,
                       roleId
                FROM   player_recharge
                WHERE  createTime >= '2017-09-01'
                       AND createTime < '2017-10-01'
                       AND rechargeTimes = 1) AS pr
               LEFT JOIN player_logout
                      ON player_logout.roleId = pr.roleId
               LEFT JOIN player_login
                      ON player_login.roleId = pr.roleId
        WHERE  player_logout.logTime < pr.logTime
               AND player_login.logTime < pr.logTime
        GROUP  BY pr.roleId) AS sub
WHERE  sub.minutes > 0
GROUP  BY sub.minutes;

2、按天分组,查9月每天付费前10排行(日期,付费金额,排名,角色ID)

SELECT 
  date AS 'date', 
  pay AS 'pay', 
  rank, 
  roleId 
FROM 
  (
    SELECT 
      zl_tmp.roleId, 
      zl_tmp.date, 
      zl_tmp.pay, 
      @rownum := @rownum + 1, 
      IF(
        @date = zl_tmp.date, @rank := @rank + 1, 
        @rank := 1
      ) AS 'rank', 
      @date := zl_tmp.date 
    FROM 
      (
        SELECT 
          roleId, 
          SUM(cash) AS 'pay', 
          DATE_FORMAT(logTime, '%Y-%m-%d') AS 'date' 
        FROM 
          player_recharge 
        WHERE 
          logTime >= '2017-09-01' 
          AND logTime < '2017-10-01' 
        GROUP BY 
          date, 
          roleId 
        ORDER BY 
          date, 
          pay DESC
      ) zl_tmp, 
      (
        SELECT 
          @rownum := 0, 
          @date := NULL, 
          @rank := 0
      ) a
  ) result 
HAVING 
  rank <= 10;


3、统计9月每日付费转化率(日期,活跃用户数,付费用户数)

SELECT 
  pl.date, 
  pl.plCount AS activeAccoCount, 
  COALESCE(pr.prCount, 0) AS payAccoCount 
FROM 
  (
    SELECT 
      Date_format(logTime, '%Y-%m-%d') AS date, 
      Count(DISTINCT roleId) AS plCount 
    FROM 
      player_login 
    WHERE 
      logTime >= '2017-09-01' 
      AND logTime < '2017-10-01' 
    GROUP BY 
      date
  ) AS pl 
  LEFT JOIN (
    SELECT 
      Date_format(logTime, '%Y-%m-%d') AS date, 
      Count(DISTINCT roleId) AS prCount 
    FROM 
      player_recharge 
    WHERE 
      logTime >= '2017-09-01' 
      AND logTime < '2017-10-01' 
    GROUP BY 
      date
  ) AS pr ON pl.date = pr.date;


相关内容

热门资讯

高三女生高考前确诊罕见病,母亲... 极目新闻记者 张裕5月15日,武汉市第三十九中学成人礼现场,高三学生杨乐乐在母亲搀扶下走过“成人门”...
台中队誓师大会登场,黄国昌:民... 海峡导报综合报道 台湾民众党“台中队”16日亮相,跨足山海屯、市区目前提名6名市议员参选人,白营党主...
“美国稀土联盟跑不起来:日本不... 【文/观察者网 王一】美国想拉盟友重建稀土供应链,却发现队伍不好带。美国彭博社5月15日发长文分析称...
大连爱碧克取得管口自动辊凸台装... 国家知识产权局信息显示,大连爱碧克空调配件有限公司取得一项名为“一种管口自动辊凸台装置”的专利,授权...
免费开放!机器人足球赛等趣味科... 5月16日至17日,中国科学院第22届公众科学日在全国一百余家高校科研院所举行,并面向社会免费开放。...
“智云上海,智惠全城”中国电信... 5月15日,2026年中国电信第六届科技节上海站正式启幕。活动主论坛以“智云上海,智惠全城”为主题,...
孙燕姿演唱会中突发不适,多名工... 5月15日晚,孙燕姿在台北举行演唱会,表演途中她腿部突然有些不适,疑似抽筋。但她仍坚持唱完当前曲目,...
燃气热水器通电显示屏不亮 1、可能是燃气热水器的显示屏连接线发生断路的情况。2、可能是家庭内的电压出现大幅度波动,或者电压过低...
长虹电视机开机后显示屏不亮是什... 果液晶电视出现这种情况的话,很有可能是由于电视内部排线接触不好造成的。因为在液晶电视内部,各个援建在...
墙面扣板材料有哪几种类型 现代墙面装饰材料种类众多,不局限油漆涂料,市面上还有各种扣板材料。那么墙面扣板材料有哪几种呢??马上...