⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄

📁 介绍了数据库方面的基础知识
💻
字号:
作者:豆腐
日期:00-6-2 上午 09:52:05
做页面统计的时候,经常需要判断每一周的每一天的访问量是多少!
可是,怎么做呢?
 在这里,我给 大家 提供一个  进行  周 统计 的 例子 
 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
   %>
<p>本周的访问情况如下:</p>
  星期日<%=rst(0)%><br>
  星期一<%=rst(1)%><br>
  星期二<%=rst(2)%><br>
  星期三<%=rst(3)%><br>
  星期四<%=rst(4)%><br>
  星期五<%=rst(5)%><br>
  星期六<%=rst(6)%><br>
   以上是实现  周 统计的斑竹 个人 的 方法,总体 感觉 速度比较慢,不知道大家有没有更好的方法

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -