t-sql 将跟踪平均值与当前数据进行比较

标签 t-sql

我有一个任务来获取收到的记录数的追踪平均值 过去 10 个月和本月的记录数。例如,在集合中 以下记录中,最近三个月每月的平均记录数为 4.33。 本月的记录数为 3 条。 因此预期的结果是,

Result

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/

相关文章:

c# - 如何只显示最近添加的4条数据库记录?

SQL根据不同的记录类型进行分组和聚合

t-sql - 将多行插入到引用自身的表中

sql-server - VIEW 中的 SQL Server 2008 CONVERT 语句使列定义中的数据类型为 NULL

sql-server - 为什么这些 SQL Server 查询会产生不同的结果?

sql - 在存储过程中使用 LIKE 和 IN/OR

sql - 如果 SQL 查询中日期为空,则显示所有记录

json - SQL Server 中的 OPENJSON 动态使用 with 语句

sql-server - 如何在 T-SQL 中编写 select case

sql-server - 在 SQL 中连接多个表并获取 Count 数据