一张温度表,里面有每小时一条的温度记录。这样一天就有24条记录,一个月就有24×天数条记录,我想先得到每一天温度的最大值,然后在求出这个月每天温度最大值的平均值,请问这种情况能完全用SQL语句实现吗?

解决方案 »

  1.   

    能阿
    select max(温度) from table group by 日
    select avg(select max(温度) from table group by 日)
      

  2.   

    select sum(tt)/天数 form (select max(温度) as tt from  tablename group by day)
    不知你有没month字段,有的话从month字段求出天数!
      

  3.   

    有精确到日的日期字段DATE,例如:20030614。楼上的再详细一点好吗?
      

  4.   

    风焱兄,avg函数里面好像不能用select查询了吧
      

  5.   

    不好意思直接给的例子
    如果有DATE字段的话就很简单了
    1 select max(温度) from table group by DATE
    2 select avg(a) from (select max(温度) as a from table group by DATE ) group by LEFT(DATE,6)用了LEFT因为我觉得按你的写法DATE好像是字符字段,不过不是,自己用datepart等就行了--sql server中
      

  6.   

    我直接用select avg(a) from (select max(温度) as a from table group by DATE ) group by LEFT(DATE,6)对表进行查询,怎么提示Invalid column name 'a',呢,麻烦风焱兄。
      

  7.   

    sorry,试试下面:
    select avg(a) from (select max(温度),DATE as a from table group by DATE ) b group by LEFT(DATE,6)