这个问题很有意思;不过我要走了;明天回答你; 这个问题要用到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 连接起来
可以在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;
有一个变通方法: 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;
这个问题要用到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 连接起来
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;
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;