当有多个时,查找最近大多数数据的平均值

时间:2017-08-10 21:47:08

标签: sql sql-server average

嗨我需要找到一种方法,在有多个值时查找数据集的平均值但是根据最近的值来考虑特定值

 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

的最新时间戳

1 个答案:

答案 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;