【发布时间】:2014-03-01 14:53:12
【问题描述】:
我需要以每周格式输出一年至今的销售额,其中星期一是一周的第一天,星期日是最后一天。
表结构如下。
销售 ID |代表 |销售日期。
以下是我尝试过的,但似乎没有给我正确的结果。给定一周的计数似乎没有加起来。周日结果不包括在正确的周内。我认为这与日期有关,不包括一周最后一天的 11:59:59.999。
SELECT DATEADD(wk, DATEDIFF(wk, 6, Sales.DateOfSale), 6) as [Week Ending], count(SalesID) as Sales,
count(distinct(representative)) as Agents, count(SalesID) / count(distinct(representative)) as SPA
FROM Sales
where DateOfSale >= DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)
GROUP BY DATEADD(wk, DATEDIFF(wk, 6, Sales.DateOfSale), 6)
ORDER BY DATEADD(wk, DATEDIFF(wk, 6, Sales.DateOfSale), 6)
我希望有这样的东西:
Week Ending | Sales
01/05/2014 | 5
01/12/2014 | 8
01/19/2014 | 11
01/26/2014 | 14
请原谅上面表格的格式。我似乎无法弄清楚如何使用编辑器创建基于管道/换行符的表格。
~尼克
【问题讨论】:
-
。 .在 StackOverflow 中,您只需在每行前面放置四个空格(无特殊标签)即可格式化代码和表格。您可以通过选择区域并单击编辑窗口上方的
{}按钮来对区域执行此操作。 -
戈登感谢您提供的信息...
标签: sql sql-server