top
Loading...
做頁面統計的方法--一種方法,拋磚引玉
做頁面統計的時候,經常需要判斷每一周的每一天的訪問量是多少!可是,怎么做呢?在這里,我給 大家 提供一個 進行 周 統計 的 例子 1.數據庫結構
create table StaticTable( StaticId int identify(1,1),
visisttime datetime )2. 利用到了SQL server 的 函數 DateAdd 和 DatePart
DatePart 是得到 與參數相關的 結果(具體 使用 請看 SQL 7 online book)
DateAdd 得到 與 指定時間 相差 指定 整數 的 日期3.為了 提高 執行速度,將 功能 用 存儲 過程 實現 存儲過程代碼如下:
CREATE PROCEDURE GetWeekData AS declare @Data1 int, @Data2 int,
@Data3 int, @Data4 int, @Data5 int, @Data6 int, @Data7 int
select @Data1=count(*) from AccessStat where convert(varchar(10),visittime,112)=
(select distinct convert(varchar(10),dateadd(d,1-datepart(dw,visittime),getdate()),112) from AccessStat
where datepart(ww,visittime)=datepart(ww,getdate()))
select @Data2=count(*) from AccessStat where convert(varchar(10),visittime,112)=
(select distinct convert(varchar(10),dateadd(d,2-datepart(dw,visittime),getdate()),112) from AccessStat
where datepart(ww,visittime)=datepart(ww,getdate()))
select @Data3=count(*) from AccessStat where convert(varchar(10),visittime,112)=
(select distinct convert(varchar(10),dateadd(d,3-datepart(dw,visittime),getdate()),112) from AccessStat
where datepart(ww,visittime)=datepart(ww,getdate()))
select @Data4=count(*) from AccessStat where convert(varchar(10),visittime,112)=
(select distinct convert(varchar(10),dateadd(d,4-datepart(dw,visittime),getdate()),112) from AccessStat
where datepart(ww,visittime)=datepart(ww,getdate()))
select @Data5=count(*) from AccessStat where convert(varchar(10),visittime,112)=
(select distinct convert(varchar(10),dateadd(d,5-datepart(dw,visittime),getdate()),112) from AccessStat
where datepart(ww,visittime)=datepart(ww,getdate()))
select @Data6=count(*) from AccessStat where convert(varchar(10),visittime,112)=
(select distinct convert(varchar(10),dateadd(d,6-datepart(dw,visittime),getdate()),112) from AccessStat
where datepart(ww,visittime)=datepart(ww,getdate()))
select @Data7=count(*) from AccessStat where convert(varchar(10),visittime,112)=
(select distinct convert(varchar(10),dateadd(d,7-datepart(dw,visittime),getdate()),112) from AccessStat
where datepart(ww,visittime)=datepart(ww,getdate()))
select data1=@data1,data2=@data2,data3=@data3,data4=@data4,data5=@data5,data6=@data6,data7=@data7
4 在 Asp 中 程序執行 存儲 過程 如下: <%
set Conn=server.createobject("ADODB.Connection") conn.open connstr
set rst=server.createobject("ADODB.Recordset") strSQL="getweekdata"
rst.open strSQL,conn,3,3 %>

本周的訪問情況如下:

星期日<%=rst(0)%>

星期一<%=rst(1)%>
星期二<%=rst(2)%>
星期三<%=rst(3)%>
星期四<%=rst(4)%>

星期五<%=rst(5)%>
星期六<%=rst(6)%>

以上是實現 周 統計的斑竹 個人 的 方法,總體 感覺 速度比較慢,不知道大家有沒有更好的方法
作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗