zoukankan      html  css  js  c++  java
  • 收入分析

    USE [MogoData]
    GO
    /****** Object:  StoredProcedure [dbo].[AppStat_1DnN]    Script Date: 07/11/2013 20:20:42 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    
    -- =============================================
    -- Author:        <Author,,Name>
    -- Create date: <Create Date,,>
    -- Description:    App统计单日多平台相关数据
    -- =============================================
    ALTER PROCEDURE [dbo].[AppStat_1DnN]
    @uid uniqueidentifier,        --user ID
    @apps varchar(10),            --app类型:all,iphone,andriod,ipad,wp,single_app
    @aid uniqueidentifier=null, --app ID
    @date datetime,                --日期
    @adtype varchar(10),        --广告类型:banner,fullscreen,customsize,video,splash,offer
    @dtype varchar(10)            --查询的数据类型: total_mogo,hour,app,country,network
    
    
    AS
    set transaction isolation level read uncommitted;
    BEGIN
        DECLARE @app_sql nvarchar(1000);
        DECLARE @adtype_sql nvarchar(1000);
        DECLARE @sql nvarchar(4000);
        DECLARE @ParmDefinition nvarchar(1000);
    --    /********* 加载要查询的App ************************************/
        IF(@apps='all')                SET @app_sql=' AND a.UID=@p_uid'
        IF(@apps='iphone')            SET @app_sql=' AND a.UID=@p_uid AND a.[platform]=1' 
        IF(@apps='andriod')            SET @app_sql=' AND a.UID=@p_uid AND a.[platform]=2'
        IF(@apps='ipad')            SET @app_sql=' AND a.UID=@p_uid AND a.[platform]=3'
        IF(@apps='wp')                SET @app_sql=' AND a.UID=@p_uid AND a.[platform]=4'
        IF(@apps='single_app')        SET @app_sql=' AND a.UID=@p_uid AND a.id=@p_aid' 
        /********* 加载要查询的广告类型************************************/
        IF(@adtype='banner')        SET @adtype_sql=' AND (sd.adtype<=4 OR sd.adtype=8)'
        IF(@adtype='fullscreen')    SET @adtype_sql=' AND (sd.adtype=6 OR sd.adtype=9)'
        IF(@adtype='customsize')    SET @adtype_sql=' AND sd.adtype=10'
        IF(@adtype='video')            SET @adtype_sql=' AND sd.adtype=11'
        IF(@adtype='splash')        SET @adtype_sql=' AND sd.adtype=12'
        IF(@adtype='offer')            SET @adtype_sql=' AND sd.adtype=512'
    
        /********* 加载要查询的广告类型************************************/
    
        IF (@dtype='total_mogo')
        BEGIN
            SET @sql = 'SELECT null as ID,null as Title, 
                        sum(Impressions+blanks) as req,
                        sum(CASE WHEN sd.Type=100 THEN 0 ELSE Impressions END) as imp, 
                        sum(CASE WHEN sd.Type=100 THEN 0 ELSE Clicks END) as clk,
                        0 as inc
                    FROM Stat_Day sd JOIN App a ON AID = a.ID
                    WHERE sd.[DateTime] = @p_Date '
                    + @app_sql + @adtype_sql 
        END
    
        IF (@dtype='hour')
        BEGIN
            SET @sql = 'SELECT null as ID,DATEPART(hh ,dateadd(hh,8,[DateTime])) as Title,  
                        sum(Impressions+blanks) as req,
                        sum(CASE WHEN sd.Type=100 THEN 0 ELSE Impressions END) as imp, 
                        sum(CASE WHEN sd.Type=100 THEN 0 ELSE Clicks END) as clk,
                        0 as inc
                FROM Stat_Hour sd JOIN App a ON AID = a.ID
                WHERE sd.[DateTime] >= dateadd(hh,-8,@p_date) 
                    AND sd.[DateTime]< dateadd(hh,16,@p_date)'
                + @app_sql + @adtype_sql +
                'GROUP BY  DATEPART(hh,[DateTime]) ORDER BY Title'
        END
    
        IF (@dtype='app')
        BEGIN
            SET @sql = 'SELECT aid as ID,a.name as Title,  
                        sum(Impressions+blanks) as req,
                        sum(CASE WHEN sd.Type=100 THEN 0 ELSE Impressions END) as imp, 
                        sum(CASE WHEN sd.Type=100 THEN 0 ELSE Clicks END) as clk,
                        0 as inc
                FROM Stat_Day sd JOIN App a ON AID = a.ID
                WHERE sd.[DateTime] = @p_Date'
                + @app_sql + @adtype_sql +
                'GROUP BY aid,name ORDER BY imp desc'
        END
    
        IF (@dtype='country')
        BEGIN
            SET @sql = 'SELECT null as ID, Country as Title, 
                        sum(Impressions+blanks) as req,
                        sum(CASE WHEN sd.Type=100 THEN 0 ELSE Impressions END) as imp, 
                        sum(CASE WHEN sd.Type=100 THEN 0 ELSE Clicks END) as clk,
                        0 as inc
                FROM Stat_Day sd JOIN App a ON AID = a.ID
                WHERE sd.[DateTime] = @p_Date AND sd.[Type] = @p_nid' 
                + @app_sql + @adtype_sql +
                'GROUP BY  Country ORDER BY imp desc '
    
        END
        IF (@dtype='network')--返回当日广告平台的芒果数据和收入
        BEGIN
            SET @sql = 'select 
                null as ID,t_sd.nwid as title,
                t_sd.req req,
                t_sd.imp imp,
                t_sd.clk clk,
                t_inc.Inc Inc
                FROM 
                    (select [type] as nwid,sum(Requests) req,sum(Impressions)imp, sum(Clicks) clk
                    FROM Stat_Day WHERE [DateTime] = @P_Date' + @app_sql + @adtype_sql +
                    'GROUP BY NWID ) as t_sd  
                LEFT JOIN 
                    (select NWID, sum(Inc) Inc 
                    FROM Network_Stat_Day sd JOIN App a ON a.id=sd.AID WHERE [Date] = @P_Date'    + @app_sql + @adtype_sql +
                    'GROUP BY NWID) as t_inc
                on t_sd.NWID = t_inc.NWID'
            
        END
    
    
        SET @ParmDefinition = N'@p_uid uniqueidentifier,  
            @p_apps varchar(10),
            @p_aid uniqueidentifier,  
            @p_nid int,  
            @p_date datetime';
    
        print @sql;  
        EXECUTE sp_executesql @sql, @ParmDefinition,  
            @p_uid = @uid,  
            @p_apps=@apps,
            @p_aid = @aid,  
            @p_date = @date 
    END
    
    
    --
    --select 
    --    null as ID,t_sd.nwid as title,
    --    t_sd.req tsd_req,
    --    t_sd.imp,
    --    t_sd.clk,
    --    t_sd.Inc,
    --    t_inc.Req,
    --    t_inc.INc,
    --    t_inc.Clk,
    --    t_inc.Inc
    --    from (
    --    select  nwid,sum(Requests) req,sum(Impressions)imp,sum(Clicks) clk,sum(Incomes)Inc 
    --    FROM Stat_Day WHERE [DateTime] = '2013-2-1' GROUP BY NWID ) as t_sd  
    --    LEFT JOIN 
    --    (select NWID, sum(Req) Req ,sum(Imp) Imp,sum(Clk) Clk,sum(Inc) Inc FROM Network_Stat_Day WHERE [Date] = '2013-2-1' GROUP BY NWID) as t_inc
    --    on t_sd.NWID = t_inc.NWID
    
    
    exec [AppStat_1DnN] 
    'C925E123-5A54-419A-9C3B-ED6C1CCD57EE',
    'andriod',
    '2de8e84f-9e59-4698-8a6e-de773df4eb2b',
    '2013-6-6',
    'banner',
    'total_mogo'
  • 相关阅读:
    小程序canvas生成海报-新旧接口
    vue网页小程序实现七牛云图片文件上传以及原生组件video显示不出问题
    【文化课】 一篇魔改英语理解
    python萌新笔记
    版本控制(Version control)
    开源许可证(License)
    agc004c
    python日期时间、时间戳互相转换
    拓展django-haystack全文检索的样式和搜索频率限制
    常用JS代码
  • 原文地址:https://www.cnblogs.com/l25321937/p/3223833.html
Copyright © 2011-2022 走看看