我试图找到每周开放的订单数量。一个开放多周的订单应该包含在每周开放的数量中。数据看起来像下面每周未结订单的数量
id open_dt close_dt
1 2014-01-01 07:00:00 2014-01-01 07:00:00
2 2014-01-01 07:00:00 2014-01-02 07:00:00
3 2014-01-02 07:00:00 2014-01-09 07:00:00
4 2014-01-08 07:00:00 NULL
NULL close_dt算作仍然开放,因为它是打开
应该出现在每星期我的查询看起来像以下但它没有返回我期待的数字:
SELECT YEAR(open_dt) AS year, WEEK(open_dt) AS week, count(*) 'open'
FROM table
WHERE open_dt >= week(open_dt)
OR
(
close_dt > week(open_dt)
OR close_dt IS NULL
)
GROUP BY YEAR(open_dt), WEEK(open_dt)
我试图得到类似下面的结果:
year week open
2014 1 3
2014 2 2
2014 3 1
...
欣赏任何提示或指导。
我发现类似的问题在那里接受的解决方案是加入一个表但含有天/周的数字,我希望避免,如果可能的 –