select 煤矿名称,传感器编号,传感器名称,传感器类型,avg(当前值),max(当前值),max(当前时间)
from 表
group by 煤矿名称,传感器编号,传感器名称,传感器类型

解决方案 »

  1.   

    如果每日最大值唯一.select a.矿名,a.编号a.名称,a.类型,t.平均值,t.最大值,a.最大值时间 from tb a,
    (select 类型,convert(varchar(10),当前时间,120) 当前时间 , max(当前值) 最大值 , avg(当前值) 平均值 from tb group by 类型,convert(varchar(10),当前时间,120)) t
    where a.类型 = t.类型 and convert(varchar(10),a.当前时间,120) = t.当前时间 and a.当前值 = t.最大值
      

  2.   

    select 矿名=煤矿名称,编号=传感器编号,名称=传感器名称,类型=传感器类型,平均值=avg(当前值),最大值=max(当前值),最大值时间=max(当前时间)
    from 表
    group by 煤矿名称,传感器编号,传感器名称,传感器类型
      

  3.   

    select  b.* ,table01.当前时间
    from table01 inner join (select 矿名,编号 ,名称,类型,avg(当前值) as 平均值, max(当前值) as 最大值 from table01 group by 矿名,编号 ,名称,类型  )b
    on table01.矿名=b.矿名 and table01.编号=b.编号 and table01.名称=b.名称 and table01.类型=b.类型
      

  4.   

    这位兄台,我要查的不是最大时间,我要查的是最大值的时间!
    回复请把SQL语句写上好吗?谢谢!小的水平有限
      

  5.   


    create table biao(煤矿名称 varchar(50),传感器编号 varchar(10),传感器名称 varchar(50),传感器类型 varchar(10),当前值 numeric(9,2) ,当前时间 datetime)
    insert biao
    select 'A矿','c001','一层传感器', '瓦斯',2.5,'2007-1-10 10:10:20'
    union all select 'A矿','c001','一层传感器','瓦斯',4.5,'2007-1-10 12:30:13'
    union all select 'A矿','c001','一层传感器','瓦斯',4.0,'2007-1-12 18:35:12'
    union all select 'A矿','c002','一层传感器','瓦斯',6.4,'2007-1-10 10:20:10'
    union all select 'A矿','c002','一层传感器','瓦斯',4.4,'2007-1-13 13:08:44'
    union all select 'A矿','c002','一层传感器','瓦斯',6.4,'2007-1-13 13:10:44'select * from biaoselect 矿名=煤矿名称,编号=传感器编号,名称=传感器名称,类型=传感器类型,平均值=avg(当前值),最大值=max(当前值),最大值时间=max(当前时间)
    from biao
    where convert(char(10),当前时间,21)='2007-01-13'
    group by 煤矿名称,传感器编号,传感器名称,传感器类型
      

  6.   

    如果每日最大值唯一.select a.矿名,a.编号a.名称,a.类型,t.平均值,t.最大值,a.当前时间 最大值时间 from tb a,
    (select 类型,convert(varchar(10),当前时间,120) 当前时间 , max(当前值) 最大值 , avg(当前值) 平均值 from tb group by 类型,convert(varchar(10),当前时间,120)) t
    where a.类型 = t.类型 and convert(varchar(10),a.当前时间,120) = t.当前时间 and a.当前值 = t.最大值
      

  7.   

    create table biao(煤矿名称 varchar(50),传感器编号 varchar(10),传感器名称 varchar(50),传感器类型 varchar(10),当前值 numeric(9,2) ,当前时间 datetime)
    insert biao
    select 'A矿','c001','一层传感器', '瓦斯',2.5,'2007-1-10 10:10:20'
    union all select 'A矿','c001','一层传感器','瓦斯',4.5,'2007-1-10 12:30:13'
    union all select 'A矿','c001','一层传感器','瓦斯',4.0,'2007-1-12 18:35:12'
    union all select 'A矿','c002','一层传感器','瓦斯',6.4,'2007-1-10 10:20:10'
    union all select 'A矿','c002','一层传感器','瓦斯',4.4,'2007-1-13 13:08:44'
    union all select 'A矿','c002','一层传感器','瓦斯',6.4,'2007-1-13 13:10:44'select  矿名=a.煤矿名称,
    编号=a.传感器编号,
    名称=a.传感器名称,
    类型=a.传感器类型,
    平均值=b.平均值,
    最大值=b.最大值,
    最大值时间=a.当前时间
    from biao a,(select 煤矿名称,传感器编号,传感器名称,传感器类型,平均值=avg(当前值),最大值=max(当前值) from biao where convert(char(10),当前时间,21)='2007-01-13' group by 煤矿名称,传感器编号,传感器名称,传感器类型) b
    where  a.煤矿名称=b.煤矿名称 and a.传感器编号=b.传感器编号 and a.传感器名称=b.传感器名称 and a.传感器类型=b.传感器类型 and a.当前值 = b.最大值 and convert(char(10),当前时间,21)='2007-01-13'