本帖最后由 charlesxu 于 2013-11-13 10:34:21 编辑

解决方案 »

  1.   

    select to_char(time,'yyyymmdd hh24')||':00',max(value),min(value),avg(value) from A group by to_char(time,'yyyymmdd hh24')
      

  2.   

    题目avg下面的值并不一定是(最大值+最小值)/2。1楼的sql才是对的、
      

  3.   

    SELECT TO_CHAR(TIME, 'YYYY-MM-DD HH') || ':00' TIME,
           MIN(C1),
           MAX(C1),
           (MIN(C1) + MAX(C1)) / 2 AVG
      FROM TEST
     GROUP BY TO_CHAR(TIME, 'YYYY-MM-DD HH');
      

  4.   

    1楼是对的,思路就是把时间转化成小时to_char(time,'yyyymmdd hh24',然后以此分组做group by,然后用max,min,avg就可以了
      

  5.   

    select to_char(time,'YYYY-MM-DD HH')||':00' time ,max(value) max,min(value) min,avg(value) avg from t
    group by time order by time desc;
      

  6.   

    在group by 的基础上建成视图, 方便访问。