Sql server 2012 如何选择一个月的最后一周?
我有一张表,上面有每天的员工时间/客户信息。我需要每周和每月收集这些信息并进行总结。这是我能做到的 我陷入困境的地方是,对于每个月的最后一周,如果是周六之前结束的部分周,我需要获取这些信息,提取这些信息并插入到表中或创建一个视图 这些是表中的字段。Sql server 2012 如何选择一个月的最后一周?,sql-server-2012,Sql Server 2012,我有一张表,上面有每天的员工时间/客户信息。我需要每周和每月收集这些信息并进行总结。这是我能做到的 我陷入困境的地方是,对于每个月的最后一周,如果是周六之前结束的部分周,我需要获取这些信息,提取这些信息并插入到表中或创建一个视图 这些是表中的字段。 员工ID、付款类型、仓库、用户名、工作时间、工作日期、工作周、工作日查看以下讨论: , 他们展示了如何到达山顶的最后一个星期天。 您可以有这样一种情况,您可以声明: 其中DAYcurrentDay>DAYlastSunday 和MONTHcurren
员工ID、付款类型、仓库、用户名、工作时间、工作日期、工作周、工作日查看以下讨论: , 他们展示了如何到达山顶的最后一个星期天。 您可以有这样一种情况,您可以声明: 其中DAYcurrentDay>DAYlastSunday 和MONTHcurrentDay=MONTHlastSunday检查以下内容: 谢谢你的帮助 最后我创建了一个日历,添加了一个应计列,并在月末用2标记了部分周。然后,我可以通过连接两个表来选择零件周
;WITH Sell as (
SELECT CAST('20150826' as Date) dt, 1 Amount UNION ALL
SELECT '20150827' dt, 5 Amount UNION ALL
SELECT '20150828' dt, 4 Amount UNION ALL
SELECT '20150829' dt, 8 Amount UNION ALL
SELECT '20150901' dt, 9 Amount UNION ALL
SELECT '20150902' dt, 11 Amount UNION ALL
SELECT '20150903' dt, 3 Amount UNION ALL
SELECT '20150904' dt, 6 Amount UNION ALL
SELECT '20150905' dt, 7 Amount
)
SELECT
DATEPART(MONTH, dt) as mnth
, DATEPART(WEEK, dt) as wk
,SUM(Amount) as Sum
FROM Sell
GROUP BY DATEPART(MONTH, dt)
, DATEPART(WEEK, dt)
ORDER BY 1,2