我有一个任务来获取收到的记录数的追踪平均值 过去 10 个月和本月的记录数。例如,在集合中 以下记录中,最近三个月每月的平均记录数为 4.33。 本月的记录数为 3 条。 因此预期的结果是,
declare @recordsReceived table (id int, dob date)
INSERT @recordsReceived VALUES (1,'2020-01-01')
INSERT @recordsReceived VALUES (2,'2020-01-08')
INSERT @recordsReceived VALUES (3,'2020-01-17')
INSERT @recordsReceived VALUES (5,'2020-02-03')
INSERT @recordsReceived VALUES (6,'2020-02-09')
INSERT @recordsReceived VALUES (7,'2020-02-16')
INSERT @recordsReceived VALUES (8,'2020-02-21')
INSERT @recordsReceived VALUES (9,'2020-02-28')
INSERT @recordsReceived VALUES (10,'2020-03-01')
INSERT @recordsReceived VALUES (11,'2020-03-07')
INSERT @recordsReceived VALUES (12,'2020-03-21')
INSERT @recordsReceived VALUES (13,'2020-03-28')
INSERT @recordsReceived VALUES (14,'2020-04-03')
INSERT @recordsReceived VALUES (15,'2020-04-09')
INSERT @recordsReceived VALUES (16,'2020-04-30')
INSERT @recordsReceived VALUES (5,'2020-02-03')
INSERT @recordsReceived VALUES (6,'2020-02-09')
INSERT @recordsReceived VALUES (7,'2020-02-16')
INSERT @recordsReceived VALUES (8,'2020-02-21')
INSERT @recordsReceived VALUES (9,'2020-02-28')
INSERT @recordsReceived VALUES (10,'2020-03-01')
INSERT @recordsReceived VALUES (12,'2020-03-21')
INSERT @recordsReceived VALUES (12,'2020-03-21')
INSERT @recordsReceived VALUES (13,'2020-03-28')
INSERT @recordsReceived VALUES (14,'2020-04-03')
INSERT @recordsReceived VALUES (15,'2020-04-09')
INSERT @recordsReceived VALUES (16,'2020-04-30')
最佳答案
你可以试试这个,
Select * From (
Select count(month(dob))*1.00/count(distinct(month(dob))) As [TAVG]
from @recordsReceived
Where month(dob) < (Select max(month(dob)) from @recordsReceived)) A
,
(Select count(month(dob)) [Current]
from @recordsReceived
Where month(dob) = (Select max(month(dob)) from @recordsReceived)) B
关于t-sql 将跟踪平均值与当前数据进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60110441/