文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>实现日、周、月排行统计

实现日、周、月排行统计

时间:2010-12-13  来源:与时俱进

         概括一下,即两种情况:当前日期往前推一周或者一个月(暂且描述为“相对排行”),当前日期所在周或者所在月(暂且描述为“绝对排行”)。

         为了好描述和分析,举例说明。示例数据库如下:

         说明:

表名:T_Visit

         当前日期:2009-4-22

         表中数据:如下

         当前日期为星期几(@day):3

         

  相对排行实现办法:

         日排行:

         select  top 20 ID, userIp, Date from T_Visit where (dbo.T_Visit.Date >= CONVERT(nvarchar(10), getdate(), 21)) AND (dbo.T_Visit.Date <= CONVERT(nvarchar(10),dateadd(day,1,getdate()), 21))

    周排行:

    select  top 20 ID, userIp, Date from T_Visit where  dbo.T_Visit.Date > getdate()-7

    月排行:

    select  top 20 ID, userIp, Date from T_Visit where  dbo.T_Visit.Date > getdate()-30

    绝对排行实现办法:

         日排行:

         select  top 20 ID, userIp, Date from T_Visit where (dbo.T_Visit.Date >= CONVERT(nvarchar(10), getdate(), 21)) AND (dbo.T_Visit.Date <= CONVERT(nvarchar(10),dateadd(day,1,getdate()), 21))

    结果如下图:

周排行:

    declare @day int

set @day=3

select  top 20 ID, userIp, Date from T_Visit where (dbo.T_Visit.Date >= CONVERT(nvarchar(10),dateadd(day,-@day,getdate()),21)) AND(dbo.T_Visit.Date<=CONVERT(nvarchar(10),dateadd(day,(7-@day),getdate()), 21))

结果如下图:

月排行:

Select top 20 ID, userIp, Date from T_Visit where year(Date)=year(getdate()) and month(date)=month(getdate())

结果如下图:

(注:本示例在Sql Server 2005环境中测试)

相关阅读 更多 +
排行榜 更多 +
坦克战争世界

坦克战争世界

模拟经营 下载
丛林反击战

丛林反击战

飞行射击 下载
几何飞行安卓版

几何飞行安卓版

飞行射击 下载