嗨我需要找到一种方法,在有多个值时查找数据集的平均值但是根据最近的值来考虑特定值
Table 1
ColumnA ColumnB ColumnC
A 3 07/21/2017
A 2 08/08/2017
B 1 07/22/2017
计算ColumnB的平均值
A应为2,B应为1,应为(2 + 1)/ 2 = 1.5而不是(3 + 2 + 1)/ 3 = 2。该标准基于每类columnA
的最新时间戳答案 0 :(得分: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;