表:issue 字段:
id:1
time:2012-04-01 08:15:00
count:12。。按小时统计count总数,结果如下
1  2012-04-01 8:00~9:00  134
2  2012-04-01 9:00~10:00  134

解决方案 »

  1.   

    如果结果前面的数字是你要的计数的话,那自己另加一个计数列就是了:
    mysql> select * from issue;
    +----+---------------------+-------+
    | id | time                | count |
    +----+---------------------+-------+
    |  1 | 2012-04-01 08:15:00 |    12 |
    |  2 | 2012-04-01 09:15:00 |    12 |
    |  3 | 2012-04-01 08:25:00 |    12 |
    |  4 | 2012-04-01 10:15:00 |    12 |
    |  5 | 2012-04-01 09:15:00 |    12 |
    +----+---------------------+-------+
    5 rows in set (0.00 sec)mysql> select concat(date_format(time, "%Y-%m-%d %k:00~"),  hour(time)+1, ":00")
     as 'time', sum(`count`) as 'count'
        -> from issue
        -> group by left(time, 13);
    +------------------------+-------+
    | time                   | count |
    +------------------------+-------+
    | 2012-04-01 8:00~9:00   |    24 |
    | 2012-04-01 9:00~10:00  |    24 |
    | 2012-04-01 10:00~11:00 |    12 |
    +------------------------+-------+
    3 rows in set (0.00 sec)
      

  2.   

    恩   group by left(time, 13);
      

  3.   

    select DATE_FORMAT(time,'%Y-%m-%d %H:00'),sum(count)
    from issue
    group by DATE_FORMAT(time,'%Y-%m-%d %H:00')
      

  4.   

    select Date_format(time,'%Y-%M-%d %H:00'),SUM(COUNT)
    FROM issue
    group byy DATA_FORMAR(time,'%Y-%m-%d %h:00)
      

  5.   

    select concat(date_format(time, "%Y-%m-%d %k:00~"),  hour(time)+1, ":00")
     as 'time', sum(`result`) as 'count'
    from letu group by left(time, 13);select DATE_FORMAT(time,'%Y-%m-%d %H:00'),sum(result)
    from letu
    group by DATE_FORMAT(time,'%Y-%m-%d %H:00')都不错·