易销云建站公司,新乡移动网站建设,室内设计心得体会500字,贵阳网站开发人员工资在如今很多系统中#xff0c;都需要进行日、周、月排行统计#xff0c;但是在网上寻找 了一番#xff0c;发现很多都是相对的周、月排行#xff0c;即周排行则用当前时间减去7天。这样我个人认为并不恰当。如月排行中#xff0c;假设今天是4月22日,则从3月22日至4月22日之…在如今很多系统中都需要进行日、周、月排行统计但是在网上寻找 了一番发现很多都是相对的周、月排行即周排行则用当前时间减去7天。这样我个人认为并不恰当。如月排行中假设今天是4月22日,则从3月22日至4月22日之间都可以算成月排行内这样的话与我们的月排行不尽相同我认为月排行应该指当月的排行。 概括一下即两种情况当前日期往前推一周或者一个月暂且描述为“相对排行”当前日期所在周或 者所在月(暂且描述为“绝对排行”)。 为了好描述和分析举例说明。示例数据库如下 说明 表名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 day3 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.DateCONVERT(nvarchar(10),dateadd(day,(7-day),getdate()), 21)) 结果如下图 月排行 Select top 20 ID, userIp, Date from T_Visit where year(Date)year(getdate()) andmonth(date)month(getdate()) 结果如下图 (注本示例在Sql Server 2005环境中测试)转载于:https://www.cnblogs.com/jthb/p/3734182.html