什么错误?
另外你order by 怎么那么写?

解决方案 »

  1.   

    这个问题很有意思;不过我要走了;明天回答你;
    这个问题要用到joinselect distinct datetime,
          extract(year from datetime) as aa,
          extract(month from datetime) as bb,
          extract(day from datetime) as cc 
    from tmp
    order by 2,3,4 desc 
    select  datetime,
          avg(serl)  
    from tmp
    group by datetime
    根据datetime 连接起来
      

  2.   

    可以在sql server里实现
     order by 2,3,4 desc 是无意义的 用 order by  [datetime]  desc select  [datetime],
         year([datetime]) aa,
         month([datetime])  bb,
         day([datetime])  cc, 
          avg(serl)  as qq
    from tmp
    group by [datetime]
    order by  [datetime]  desc PARADOX 里实现
    select  datetime,
          avg(serl) aa 
    from tmp
    group by datetime 
    order by datetime  desc年月日用计算字段实现procedure TForm1.Query1CalcFields(DataSet: TDataSet);
    var
      ia,ib,ic:word;
    begin
      DecodeDate( query1.FieldbyName('datetime').asdatetime, ia,ib,ic);
      query1.FieldByName('aa').AsInteger:=ia;
      query1.FieldByName('bb').AsInteger:=ib;
      query1.FieldByName('cc').AsInteger:=ic;
    end;
      

  3.   

    有一个变通方法:
    select distinct datetime,
          avg(serl)  
    from tmp010821173109 
    group by datetime
    order by 1, 2 desc 然后在这个Query中创建三个计算字段,aa,bb,cc,在Query的OnCalFields事件中写
    var
      Year, Month, Day: Word;DecodeDate(DataSet['datetime'], Year, Month, Day);
    Dataset['aa'] := Year;
    Dataset['bb'] := Month;
    Dataset['cc'] := Day;
      

  4.   

    啊,newyj(wshdsb)已经做了,又没看见,白写了。