有一个数据库,表名称假设为biao,里面有riqi ,a,b,c,ff四个字段riqi是datetime类型,a,b,c是float类型,ff是bit类型的,要求按小时分组统计一天的数据,如果FF在一个小时内有为1记录,则统计一个小时时间间段内a,b,c的平均值.如果若该小时内ff没有为1的记录一直为0,则取整个小时内a,b,c的平均值:
下面是工程要求的原话
5)火炬的燃烧温度统计,若该小时内长明灯阀位有开的记录,则取开启状态时间段内所读到的温度值进行平均。若该小时内长明灯阀位一直处于关闭,则取整个小时内所读温度值进行平均。
上面的长明灯阀就是数据库里面的ff,温度就是数据库里面的a,b,c
下面是测试的模拟数据
riqi a b c ff  
2011-02-16 11:06:58.000 38 38 38 1
2011-02-16 11:07:09.000 48 48 48 1
2011-02-16 11:07:18.000 57 57 57 1
2011-02-16 11:07:28.000 66 66 66 1
2011-02-16 11:07:38.000 75 75 75 1
2011-02-16 11:07:48.000 84 84 84 1
2011-02-16 11:07:58.000 93 93 93 0
2011-02-16 11:08:08.000 102 102 102 0
2011-02-16 11:08:18.000 112 112 112 0
2011-02-16 11:08:39.000 130 130 130 0
2011-02-16 11:08:49.000 140 139 139 0
2011-02-16 11:08:59.000 149 149 149 

解决方案 »

  1.   

    riqi a b c ff   
    2011-02-16 11:06:58.000 38 38 38 1
    2011-02-16 11:07:09.000 48 48 48 1
    2011-02-16 11:07:18.000 57 57 57 1
    2011-02-16 11:07:28.000 66 66 66 1
    2011-02-16 11:07:38.000 75 75 75 1
    2011-02-16 11:07:48.000 84 84 84 1
    2011-02-16 11:07:58.000 93 93 93 0
    2011-02-16 11:08:08.000 102 102 102 0
    2011-02-16 11:08:18.000 112 112 112 0
    2011-02-16 11:08:39.000 130 130 130 0
    2011-02-16 11:08:49.000 140 139 139 0
    2011-02-16 11:08:59.000 149 149 149