我正在努力寻找一个时间点,即连续五周计算不同员工的薪酬。例如,在第48周,我需要查看从第44周到第48周支付的不同员工的计数。我想我必须包括像“在第五周和第五周之间的第几周”这样的东西,但不知道如何使这个工作。输出应该只是年份、周数和不同雇员id的计数。
SELECT Week_Number,
Year,
Account,
count(distinct EmployeeID as 'EmployeeCount'
FROM [Table]
GROUP BY Week_Number, Year, Account
1条答案
按热度按时间r55awzrz1#
我假设您有这样一个数据表:
这就是你想看到的结果:
因此,一个人在第48周开始付款,一个人在第51周,这意味着他们在101账户上的付款在第51周和第52周重叠,但在其他几周,只有一个人向该账户付款。
在评论中也要回答你的问题:我认为这是一个很好的方式来提供一个样本数据和预期的结果,当你这样问。
帮助我产生上述结果的查询:
这使用了一个数字表,它基本上是一个包含数字的表,在类似这样的查询中非常有用。代码也有一个最小的处理年轮,但请注意,您可能需要照顾数年包含53周。