日期:2014-05-18  浏览次数:20596 次

请教 统计各个论坛版块每天发帖量的表设计
主要用到 4个字段
ID:自增ID int;
boards:论坛编号 int;
posts:当天的发帖数 int;
postday:当天的时间 datetime;


这些数据可能会在以后统计 版块的月排行、周排行、年排行等用到求和排序
想在boards和postday上做索引

因为postday类型是datetime,datediff 不能利用到索引,求教postday这个字段要如何设计?目前值 都是yy-mm-dd 00:00:00 这样的

另外自增id这个字段 是否可以不用?


前辈们有更好的解决方案么?请指教!




------解决方案--------------------
大致思路:
SQL code

declare @StartDate datetime,
        @EndDate datetime
set @StartDate=CAST(CONVERT(varchar(10),GETDATE(),120)+' 00:00:00' as datetime)
set @EndDate=DATEADD(DAY,1,@StartDate)
select @StartDate,@EndDate

select boards,SUM(posts) from table where postday>=@StartDate and postday<@EndDate group by boards
--这样就可以在postday上加索引了。

------解决方案--------------------
不用datediff 直接用>=或者<=这样的来规范范围

还有dateaddd可以用的,。