2017-08-10 83 views
0

您好我需要找到一種方法找到的平均數據集時,有多個值,但根據最近期的從最近期的數據發現平均在有多個

Table 1 
ColumnA ColumnB ColumnC 
    A  3   07/21/2017 
    A  2   08/08/2017 
    B  1   07/22/2017 

計算averae考慮一個特定的值ColumnB

它應該2從A,1應該是(2 + 1)/ 2 = 1.5而不是(3 + 2 + 1)/ 3 = 2。該標準是基於最近columnA

的每個類別的最時間戳

回答

1

我會用row_number()

select avg(columnB * 1.0) 
from (select t.*, 
       row_number() over (partition by columnA order by columnC desc) as seqnum 
     from t 
    ) t 
where seqnum = 1;