2012-07-24 72 views
0

以下声明为我提供了按地点ID和工厂编号分组的每天的平均风速和总产量。带时移的GROUP BY日期时间

SELECT STE_ID, PNT_NO, T_SMP, AVG(AVR_WS), SUM(AVR_PW) FROM argosrecord GROUP BY STE_ID , PNT_NO , YEAR(T_SMP) , MONTH(T_SMP) , DAY(T_SMP) 

我想适应这个查询计算至凌晨2点,而不是午夜的平均金额从凌晨2点到午夜。

回答

1
select STE_ID, 
    PNT_NO, 
    YEAR(dateadd(hour, -2, T_SMP)) as Year, 
    MONTH(dateadd(hour, -2, T_SMP)) as Month, 
    DAY(dateadd(hour, -2, T_SMP)) as Day, 
    AVG(AVR_WS) as AVG_AVR_WS, 
    SUM(AVR_PW) as SUM_AVR_PW 
from argosrecord 
group by STE_ID, 
    PNT_NO, 
    YEAR(dateadd(hour, -2, T_SMP)), 
    MONTH(dateadd(hour, -2, T_SMP)), 
    DAY(dateadd(hour, -2, T_SMP)) 

对于使用MySQL的:

select 
    STE_ID, 
    PNT_NO, 
    T_SMP, 
    avg(AVR_WS), 
    sum(AVR_PW) 
FROM 
    argosrecord 
GROUP BY 
    STE_ID , 
    PNT_NO , 
    YEAR(DATE_ADD(T_SMP, INTERVAL -2 HOUR)) , 
    MONTH(DATE_ADD(T_SMP, INTERVAL -2 HOUR)) , 
    DAY(DATE_ADD(T_SMP, INTERVAL -2 HOUR)) 
+0

@klonq谢谢,我错过了MySQL的标签。 – RedFilter 2012-07-24 17:21:00