daocaowu
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

-- =============================================
-- Author:wgh
-- Create date: 2012-06-07
-- Description: IP访问预统计
-- =============================================
CREATE PROCEDURE [dbo].[PROC_HB_PreStatByIP]
    @BeginTime varchar(50),
    @EndTime varchar(50),
    @TimeType int,    --0代表小时  、 1代表天
    @ChannelID varchar(10)=\'0\',
    @IpAddress varchar(20)
AS
BEGIN
    declare @sql1 nvarchar(2000)

    IF @TimeType = 0
    BEGIN
SET @sql1=\'SELECT CONVERT(varchar(13),AddTime,120) AS \'\'日期\'\'
                  ,ChannelID AS \'\'推广渠道\'\'
                  ,IPAddress AS \'\'IP地址\'\'
                  ,ViewCount AS \'\'浏览次数\'\'
                  ,ClickCount AS \'\'点击次数\'\'
                  FROM dbo.HB_AdPreStatIP WHERE AddTime>=\'\'\'+@BeginTime+\'\'\' AND AddTime<=\'\'\'+@EndTIme+\'\'\'\'
        IF @ChannelID <> \'0\'
        BEGIN
           SET @sql1 =@sql1 + \' AND ChannelID=\'\'\'+@ChannelID+\'\'\'\'
        END
        IF @IpAddress <> \'\'
        BEGIN
          SET @sql1 =@sql1 +\' AND IPAddress=\'\'\'+@IpAddress+\'\'\'\'
        END
        SET @sql1 =@sql1+\' ORDER BY ViewCount DESC\'
    END
    ELSE
    BEGIN
SET @sql1=\'SELECT CONVERT(varchar(10),AddTime,120) AS \'\'日期\'\'
                          ,ChannelID AS \'\'推广渠道\'\'
                          ,IPAddress AS \'\'IP地址\'\'
                          ,SUM(ViewCount)  AS \'\'浏览次数\'\'
                          ,SUM(ClickCount)  AS \'\'点击次数\'\' 
                    FROM dbo.HB_AdPreStatIP WHERE AddTime>=\'\'\'+@BeginTime+\'\'\' AND AddTime<=\'\'\'+@EndTIme+\'\'\'\'
        IF @ChannelID > \'0\'
        BEGIN
           SET @sql1 =@sql1 + \' AND ChannelID=\'\'\'+@ChannelID+\'\'\'\'
        END
        IF @IpAddress <> \'\'
        BEGIN
          SET @sql1 =@sql1 +\' AND IPAddress=\'\'\'+@IpAddress+\'\'\'\'
        END
SET @sql1 =@sql1 + \'GROUP BY CONVERT(varchar(10),AddTime,120),ChannelID,IPAddress ORDER BY SUM(ViewCount) DESC\'
    END
   EXEC sp_executesql @sql1 
END

  

分类:

技术点:

相关文章: