比如有表: bbs_themes 
dateline                    views 
2008-07-11 10:00:00          12
2008-07-11 11:00:00          13
2008-07-11 12:00:00         23
2008-07-11 13:00:00          31
2008-07-11 14:00:00          32
2008-07-11 15:00:00          123
2008-07-11 16:00:00          213
2008-07-11 17:00:00          312
2008-07-11 18:00:00          321现在需要查询出从几点到几点的访问两最多?
比如结果返回:17 - 18 !

解决方案 »

  1.   

    如是的话:
    select a.dateline as at,b.dateline as bt,a.views-b.views as ce from t4 a left join t4 b on 
    timediff(a.dateline,b.dateline)=1
    left join
    (
    select max(ce) as ce1 from (
    select a.dateline as at,b.dateline as bt,a.views-b.views as ce from t4 a left join t4 b on 
    timediff(a.dateline,b.dateline)=1) a1
    ) a2
    on a2.ce1=a.views-b.views where a2.ce1 is not null
      

  2.   

    我自己想的是:
     select date_format(dateline,'%H'),sum(views) as vs from bbs_themes group by date_format(dateline,'%H') order by vs desc limit 0,1; 这样可以查询到时间是 18点 ,所以流量最大的是 18 - (18+1)!不知您有何高见???
      

  3.   

    如果VIEWS不是累计的数就可以
      

  4.   

    不是这里的VIEWS是指该时刻的访问量!所以SUM(VIEWS)就是在一个小时(xx:00-xx:59)的访问量了!
    而并不是一直累加过来的!我明白了!
      

  5.   

    呵呵,提问题的时候一定要讲清楚,如果是这样,你的SQL语句就OK了