郵件圖圖片實(shí)時(shí)數(shù)據(jù)

測(cè)試期間實(shí)時(shí)數(shù)據(jù).png

1.第一個(gè)圖片的SQL

SELECT a.channelid,sum(a.devs) as "新增設(shè)備"
            ,b.dnewdevsTB as "新增設(shè)備環(huán)比"
      ,sum(a.users) as "新增用戶",sum(a.logdevs) as"登錄設(shè)備",(sum(a.logdevs) -sum(a.devs)) as "活躍設(shè)備",(sum(a.logusers) -sum(a.users) ) as "活躍用戶"
      ,b.dlogindevsTb as "登錄設(shè)備環(huán)比"                  -- 
      ,sum(a.logusers) as "登錄用戶",sum(a.payusers) as "付費(fèi)人數(shù)",sum(a.pay) as "付費(fèi)金額" 
            ,b.payTb as  "付費(fèi)金額環(huán)比"
      ,concat(round(sum(a.payusers)/sum(a.logusers)*100,0),"%")   as "付費(fèi)率",round(sum(a.pay)/sum(a.payusers),2) as "ARPPU" ,round(sum(a.pay)/sum(a.logusers),2) as "ARPU"
 
FROM 
    -- 計(jì)算基本數(shù)據(jù)
        (
        SELECT channelid,SUM(dnewdevs) as devs ,SUM(dnewusers) as users ,SUM(dlogindevs) as logdevs, SUM(dloginusers) as logusers,SUM(payusers) as payusers,SUM(pay) as pay
            FROM realinfo  
         WHERE channelid in(select channelid from allchannel_bak )  
             AND basicdate = DATE_ADD(CURDATE(),INTERVAL HOUR(NOW()) HOUR)
         GROUP BY channelid 
         ) as a   
left  JOIN  
        -- 計(jì)算環(huán)比數(shù)據(jù) 
     (SELECT a.channelid
                    ,ifnull(concat(round((  (sum(a.devs)-sum(b.devs))/(sum(b.devs)-sum(c.devs))-1 )*100,0),"%"),"-") as dnewdevsTB
                    ,ifnull(concat(round(((sum(a.logdevs)-sum(b.logdevs))/(sum(b.logdevs)-sum(c.logdevs))-1)*100,0),"%"),"-")  AS dlogindevsTb
                    ,ifnull(concat(round(((sum(a.pay)-sum(b.pay))/(sum(b.pay)-sum(c.pay))-1)*100,0),"%"),"-")  as payTb
        from 
                 (SELECT channelid,SUM(dnewdevs) as devs  ,SUM(dlogindevs) as logdevs,SUM(pay) as pay
                     FROM realinfo  
                     WHERE basicdate =DATE_ADD(CURDATE(),INTERVAL HOUR(NOW()) HOUR)
                    and channelid in(select channelid from allchannel_bak  )  
                   GROUP BY channelid having sum(dlogindevs)>0
                    ) as a left join
                 (SELECT channelid,SUM(dnewdevs) as devs  ,SUM(dlogindevs) as logdevs,SUM(pay) as pay
                      FROM realinfo  
                     WHERE basicdate =DATE_ADD(CURDATE(),INTERVAL HOUR(NOW())-1 HOUR)
                     and channelid in(select channelid from allchannel_bak  )  
                   GROUP BY channelid
                 ) as b on a.channelid=b.channelid  left join
                 (SELECT channelid,SUM(dnewdevs) as devs  ,SUM(dlogindevs) as logdevs,SUM(pay) as pay
                     FROM realinfo  
                    WHERE  basicdate =DATE_ADD(CURDATE(),INTERVAL HOUR(NOW())-2 HOUR)
                    and channelid in(select channelid from allchannel_bak  )  
                  GROUP BY channelid
                 ) as c on a.channelid=c.channelid  
            group by a.channelid) b
on a.channelid=b.channelid  
 GROUP BY a.channelid

2.計(jì)算分渠道實(shí)時(shí)留存的數(shù)據(jù)

SELECT a.channelid,sum(a.devs) as "新增設(shè)備"
            ,b.dnewdevsTB as "新增設(shè)備環(huán)比"
      ,sum(a.users) as "新增用戶",sum(a.logdevs) as"登錄設(shè)備",(sum(a.logdevs) -sum(a.devs)) as "活躍設(shè)備",(sum(a.logusers) -sum(a.users) ) as "活躍用戶"
      ,b.dlogindevsTb as "登錄設(shè)備環(huán)比"                  -- 
      ,sum(a.logusers) as "登錄用戶",sum(a.payusers) as "付費(fèi)人數(shù)",sum(a.pay) as "付費(fèi)金額" 
            ,b.payTb as  "付費(fèi)金額環(huán)比"
      ,concat(round(sum(a.payusers)/sum(a.logusers)*100,0),"%")   as "付費(fèi)率",round(sum(a.pay)/sum(a.payusers),2) as "ARPPU" ,round(sum(a.pay)/sum(a.logusers),2) as "ARPU"
      ,c.u1remainratio,c.u2remainratio,c.u3remainratio,c.u4remainratio,c.u5remainratio,c.u6remainratio,c.u7remainratio
FROM 
    -- 計(jì)算基本數(shù)據(jù)
        (
        SELECT channelid,SUM(dnewdevs) as devs ,SUM(dnewusers) as users ,SUM(dlogindevs) as logdevs, SUM(dloginusers) as logusers,SUM(payusers) as payusers,SUM(pay) as pay
            FROM realinfo  
         WHERE channelid in(select channelid from allchannel_bak )  
             AND basicdate = DATE_ADD(CURDATE(),INTERVAL HOUR(NOW()) HOUR)
         GROUP BY channelid 
         ) as a   
left  JOIN  
        -- 計(jì)算環(huán)比數(shù)據(jù) 
     (SELECT a.channelid
                    ,ifnull(concat(round((  (sum(a.devs)-sum(b.devs))/(sum(b.devs)-sum(c.devs))-1 )*100,0),"%"),"-") as dnewdevsTB
                    ,ifnull(concat(round(((sum(a.logdevs)-sum(b.logdevs))/(sum(b.logdevs)-sum(c.logdevs))-1)*100,0),"%"),"-")  AS dlogindevsTb
                    ,ifnull(concat(round(((sum(a.pay)-sum(b.pay))/(sum(b.pay)-sum(c.pay))-1)*100,0),"%"),"-")  as payTb
        from 
                 (SELECT channelid,SUM(dnewdevs) as devs  ,SUM(dlogindevs) as logdevs,SUM(pay) as pay
                     FROM realinfo  
                     WHERE basicdate =DATE_ADD(CURDATE(),INTERVAL HOUR(NOW()) HOUR)
                    and channelid in(select channelid from allchannel_bak  )  
                   GROUP BY channelid having sum(dlogindevs)>0
                    ) as a left join
                 (SELECT channelid,SUM(dnewdevs) as devs  ,SUM(dlogindevs) as logdevs,SUM(pay) as pay
                      FROM realinfo  
                     WHERE basicdate =DATE_ADD(CURDATE(),INTERVAL HOUR(NOW())-1 HOUR)
                     and channelid in(select channelid from allchannel_bak  )  
                   GROUP BY channelid
                 ) as b on a.channelid=b.channelid  left join
                 (SELECT channelid,SUM(dnewdevs) as devs  ,SUM(dlogindevs) as logdevs,SUM(pay) as pay
                     FROM realinfo  
                    WHERE  basicdate =DATE_ADD(CURDATE(),INTERVAL HOUR(NOW())-2 HOUR)
                    and channelid in(select channelid from allchannel_bak  )  
                  GROUP BY channelid
                 ) as c on a.channelid=c.channelid  
            group by a.channelid) b
on a.channelid=b.channelid  
         --  計(jì)算留存的數(shù)據(jù)
 LEFT JOIN  
 (SELECT b.channelid ,u1remainratio -- ,u1remain,u1dnewdevs 
                    ,u2remainratio-- ,u2remain,u2dnewdevs 
                                        ,u3remainratio-- , u3remain,u3dnewdevs 
                                      ,u4remainratio-- , u4remain,u4dnewdevs 
                                        ,u5remainratio-- , u5remain,u5dnewdevs 
                                        ,u6remainratio-- ,u6remain,u6dnewdevs 
                                        ,u7remainratio-- ,u7remain,u7dnewdevs 
 FROM  
    (SELECT channelid,ROUND(IFNULL(SUM(usr1remain)/SUM(dnewdevs),0)*100,2) u1remainratio,IFNULL(SUM(usr1remain),0) u1remain,IFNULL(SUM(dnewdevs),0) u1dnewdevs  
             FROM serverinfo  
             WHERE basicdate >= '2018-09-14' AND basicdate < DATE_SUB(CURDATE(),INTERVAL IF(HOUR(NOW())=0,2,1) DAY)  and channelid in(select channelid from allchannel_bak )  
             GROUP BY channelid) b 
LEFT JOIN  
             (SELECT channelid,ROUND(IFNULL(SUM(usr3remain)/SUM(dnewdevs),0)*100,2) u3remainratio,IFNULL(SUM(usr3remain),0) u3remain,IFNULL(SUM(dnewdevs),0) u3dnewdevs  
             FROM serverinfo  
             WHERE basicdate >= '2018-09-14' AND basicdate < DATE_SUB(CURDATE(),INTERVAL IF(HOUR(NOW())=0,4,3) DAY)  and channelid in(select channelid from allchannel_bak ) 
             GROUP BY channelid) c ON b.channelid = c.channelid 
LEFT JOIN
             (SELECT channelid,ROUND(IFNULL(SUM(usr7remain)/SUM(dnewdevs),0)*100,2) u7remainratio,IFNULL(SUM(usr7remain),0) u7remain,IFNULL(SUM(dnewdevs),0) u7dnewdevs  
             FROM serverinfo  
             WHERE basicdate >= '2018-09-14' AND basicdate < DATE_SUB(CURDATE(),INTERVAL IF(HOUR(NOW())=0,8,7) DAY)  and channelid in(select channelid from allchannel_bak ) 
             GROUP BY channelid) d ON c.channelid =d.channelid 
 LEFT JOIN      
             (SELECT channelid,ROUND(IFNULL(SUM(usr2remain)/SUM(dnewdevs),0)*100,2) u2remainratio,IFNULL(SUM(usr2remain),0) u2remain,IFNULL(SUM(dnewdevs),0) u2dnewdevs  
             FROM serverinfo  
             WHERE basicdate >= '2018-09-14' AND basicdate < DATE_SUB(CURDATE(),INTERVAL IF(HOUR(NOW())=0,3,2) DAY) and channelid in(select channelid from allchannel_bak ) 
             GROUP BY channelid) e ON b.channelid = e.channelid 
  LEFT JOIN     
             (SELECT channelid,ROUND(IFNULL(SUM(usr4remain)/SUM(dnewdevs),0)*100,2) u4remainratio,IFNULL(SUM(usr4remain),0) u4remain,IFNULL(SUM(dnewdevs),0) u4dnewdevs  
             FROM serverinfo  
             WHERE basicdate >= '2018-09-14' AND basicdate < DATE_SUB(CURDATE(),INTERVAL IF(HOUR(NOW())=0,5,4) DAY) and channelid in(select channelid from allchannel_bak ) 
             GROUP BY channelid) f ON b.channelid = f.channelid 
   LEFT JOIN    
             (SELECT channelid,ROUND(IFNULL(SUM(usr5remain)/SUM(dnewdevs),0)*100,2) u5remainratio,IFNULL(SUM(usr5remain),0) u5remain,IFNULL(SUM(dnewdevs),0) u5dnewdevs  
             FROM serverinfo  
             WHERE basicdate >= '2018-09-14' AND basicdate < DATE_SUB(CURDATE(),INTERVAL IF(HOUR(NOW())=0,6,5) DAY) and channelid in(select channelid from allchannel_bak ) 
             GROUP BY channelid) g ON b.channelid = g.channelid 
    LEFT JOIN   
             (SELECT channelid,ROUND(IFNULL(SUM(usr6remain)/SUM(dnewdevs),0)*100,2) u6remainratio,IFNULL(SUM(usr6remain),0) u6remain,IFNULL(SUM(dnewdevs),0) u6dnewdevs  
             FROM serverinfo  
             WHERE basicdate >= '2018-09-14' AND basicdate < DATE_SUB(CURDATE(),INTERVAL IF(HOUR(NOW())=0,7,6) DAY) and channelid in(select channelid from allchannel_bak ) 
             GROUP BY channelid) h ON b.channelid = h.channelid 
     GROUP BY  b.channelid) as c on a.channelid=c.channelid
 GROUP BY a.channelid ;
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末谐算,一起剝皮案震驚了整個(gè)濱河市浪谴,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌透绩,老刑警劉巖寻馏,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件棋弥,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡诚欠,警方通過查閱死者的電腦和手機(jī)顽染,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來轰绵,“玉大人粉寞,你說我怎么就攤上這事∽笄唬” “怎么了唧垦?”我有些...
    開封第一講書人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)液样。 經(jīng)常有香客問我振亮,道長(zhǎng),這世上最難降的妖魔是什么鞭莽? 我笑而不...
    開封第一講書人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任坊秸,我火速辦了婚禮,結(jié)果婚禮上澎怒,老公的妹妹穿的比我還像新娘褒搔。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開白布站超。 她就那樣靜靜地躺著荸恕,像睡著了一般。 火紅的嫁衣襯著肌膚如雪死相。 梳的紋絲不亂的頭發(fā)上融求,一...
    開封第一講書人閱讀 51,462評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音算撮,去河邊找鬼生宛。 笑死,一個(gè)胖子當(dāng)著我的面吹牛肮柜,可吹牛的內(nèi)容都是我干的陷舅。 我是一名探鬼主播,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼审洞,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼莱睁!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起芒澜,我...
    開封第一講書人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤仰剿,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后痴晦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體南吮,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年誊酌,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了部凑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡碧浊,死狀恐怖涂邀,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情箱锐,我是刑警寧澤必孤,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站瑞躺,受9級(jí)特大地震影響敷搪,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜幢哨,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一赡勘、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧捞镰,春花似錦闸与、人聲如沸毙替。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)厂画。三九已至,卻和暖如春拷邢,著一層夾襖步出監(jiān)牢的瞬間袱院,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工瞭稼, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留忽洛,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓环肘,卻偏偏與公主長(zhǎng)得像欲虚,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子悔雹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容