我无法每两周计算一次物品(周五结束)
表格如下:
+------------+------------+
| ItemNumber | Date |
+------------+------------+
| 235 | 2016-03-02 |
| 456 | 2016-03-04 |
| 454 | 2016-03-08 |
| 785 | 2016-03-10 |
| 123 | 2016-03-15 |
| 543 | 2016-03-18 |
| 863 | 2016-03-20 |
| 156 | 2016-03-26 |
+------------+------------+
结果:
+-------+------------+
| Total | biWeek |
+-------+------------+
| 4 | 2016-03-11 |
| 3 | 2016-03-25 |
| 1 | 2016-04-08 |
+-------+------------+
答案 0 :(得分:4)
如果我理解你的问题,这样的事情应该有效:
select
sum(1),
dateadd(day, ceiling(datediff(day,4, [Date]) / 14.0) * 14, 4)
from
yourtable
group by
dateadd(day, ceiling(datediff(day,4, [Date]) / 14.0) * 14, 4)
这计算了日期与“第4天”的日期差异。 5.1.1900,将其除以14(向上舍入)并乘以14得到双周,然后将其加到“第4天”。
答案 1 :(得分:0)
SELECT anyColumn, …, dateadd(week, datediff(week, 0, dateColumn) / 2 * 2 , 0) as biweekly
FROM table
WHERE condition
GROUP BY anyColumn, …, dateadd(week, datediff(week, 0, dateColumn) / 2 * 2 , 0)
这计算dateColumn距离日期0的周数,然后将该差值除以2的商乘以2,这样可以得到2周的间隔。通过将这2周间隔添加到日期0,您将获得2周的时间段。