RT,在我的mysql数据库有字段pid,date(string),count(int),serverid(int)
比如  pid  date         count   serverid
       1   2011-04-26    100      1
       2   2011-04-26    200      2
       3   2011-04-27    200      1
       4   2011-04-27    200      2
       5   2011-04-28    200      1
       6   2011-04-28    200      2
       7   2011-04-29    200      1
       8   2011-04-29    200      2
现在按天查询(可能会根据serverid=1或2来查询,也可能查询当天总数),请问该如何按周查询和按月查询?
因为我们时间也是个外部条件,可选的,所以假如客户选择开始日期是星期4,则按周4到周日算一周,选择所有服的话还需计算这周2个服的总数,月份的计算周,按1号和本月最后1日取区间。
诚信请教,在线等,谢谢各位帮忙!!

解决方案 »

  1.   

    我先说我的第一感觉:为啥date不用int?
      

  2.   

    首先你可以获得 开始的日期吧? 比如:2011-04-26也可以获取得到时间长吧?比如 7天一周然后,你可以利用 php 计算出 2011-04-26 七天后的日期。然后sql  where date between 两日期间大概思路是这样。
      

  3.   


    俺现在发愁的是他date是string,不会去期间
      

  4.   

    你的日期时间段最好都先弄成时间戳保存成int. 这样就好筛选了,要不然你还得转换来转换去的 效率低不说查询起来慢,还容易出错.
      

  5.   

    mysql 已经为你准备了这些函数,正等着你去用呢!