我有一张桌子:
Name Registered Date
Amit 2017-01-01
Akshay 2017-01-03
Ankith 2017-01-05
Amit 2017-01-12
Amit 2017-01-13
Amit 2017-02-01
Amit 2017-02-01
我想编写一个查询,显示每周注册报告: 说2017-01-01至2017-03-01之间的日期
Week Count
2017-01-01 3
2017-01-08 2
2017-01-15 0
2017-01-22 0
2017-01-29 2
2017-02-05 0
2017-02-12 0
2017-02-19 0
2017-02-26 0
此处Count是该周注册的人数。 3人在2017-01-01至2017-01-07之间注册。 那么我必须使用哪个查询来获得此结果?
由于
答案 0 :(得分:0)
如果你可以使用WEEK功能并显示周数而不是日期,那么:
select dummy.n, count(table.RegiseredDate)
from (SELECT 1 as n UNION SELECT 2 as n UNION SELECT 3 as n ... UNION SELECT 53 as n) dummy
left outer join table on dummy.n=WEEK(table.Registered Date)
where start_date>= x and end_date<= y
group by WEEK(Registered Date)