Sql server 每月每周平均通话次数
嗨,我希望每个月每周都能接到平均电话 此外,每个季度每周的平均通话次数 此外,每年每周的平均通话次数 我需要一个以上每一个查询。谢谢你的帮助 以下是原始数据集:Sql server 每月每周平均通话次数,sql-server,average,Sql Server,Average,嗨,我希望每个月每周都能接到平均电话 此外,每个季度每周的平均通话次数 此外,每年每周的平均通话次数 我需要一个以上每一个查询。谢谢你的帮助 以下是原始数据集: Name Call CallDate Jack Phone Call 2017-03-10 Laura Meeting 2017-03-08 Helen Phone Call 2017-02-02 Sam Video Conf 2017-02-10 David Skype
Name Call CallDate
Jack Phone Call 2017-03-10
Laura Meeting 2017-03-08
Helen Phone Call 2017-02-02
Sam Video Conf 2017-02-10
David Skype 2017-01-01
Jack Skype 2017-01-14
Laura Video Conf 2014-03-09
Helen Meeting 2017-02-12
Sam Meeting 2017-02-12
David Meeting 2017-03-09
David Video Conf 2017-02-25
David Skype 2017-02-20
Jack Skype 2017-02-20
Jack Phone Call 2017-03-10
Laura Phone Call 2017-02-07
Laura Skype 2017-02-07
Sam Phone Call 2017-03-04
Sam Phone Call 2017-03-04
Sam Skype 2017-03-10
既然你的问题很奇怪,就尽最大努力吧 这将计算每个月的呼叫数,除以该月的天数,再乘以7
;WITH CTE as
(
SELECT
dateadd(month, datediff(month,0, cast(CallDate as datetime)), 0) month
FROM yourtable
)
SELECT
-- day(eomonth(month)) calculates the number of days in the month
count(*)*7./day(eomonth(month)) avgweeklycallsmonth,
month
FROM CTE
GROUP BY month
;WITH CTE as
(
SELECT dateadd(quarter, datediff(quarter,0, CallDate), 0) quarter
FROM yourtable
)
SELECT
count(*)*7./
(datediff(day,dateadd(year, datediff(year, 0, quarter), 0),
dateadd(month,3, quarter))) avgweeklycallsquarter,
quarter
FROM CTE
GROUP BY quarter
这将计算每个季度的呼叫数,将其除以该季度的天数,然后乘以7
;WITH CTE as
(
SELECT
dateadd(month, datediff(month,0, cast(CallDate as datetime)), 0) month
FROM yourtable
)
SELECT
-- day(eomonth(month)) calculates the number of days in the month
count(*)*7./day(eomonth(month)) avgweeklycallsmonth,
month
FROM CTE
GROUP BY month
;WITH CTE as
(
SELECT dateadd(quarter, datediff(quarter,0, CallDate), 0) quarter
FROM yourtable
)
SELECT
count(*)*7./
(datediff(day,dateadd(year, datediff(year, 0, quarter), 0),
dateadd(month,3, quarter))) avgweeklycallsquarter,
quarter
FROM CTE
GROUP BY quarter
你的问题毫无意义。一周可以是两个月甚至两年的一部分。做出这样的平均值需要非常明确的说明。谢谢你的回答。我还想按姓名、月份和平均周数分组Callsmonth,我该怎么做?因此,结果应该显示该人员姓名的平均周CallsMonth。谢谢你的帮助!另外,您是否可以设置查询,以便我可以将查询添加到视图中,并能够从表中选择任何列?谢谢你嗨,t-clausen.dk。当你说除以一个月的天数时,这是怎么做到的?一年中有不同的天数month@peppe您正在向此问题添加新问题。如果你需要新的答案。你需要问一个新问题。每月天数的计算已作为注释添加到代码中。这似乎是一个很好的猜测,可以围绕一个模糊的需求制定一些精确的规则。做得好。