如何从mysql表

时间:2017-02-17 11:19:42

标签: mysql sql

我有一张桌子:

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之间注册。 那么我必须使用哪个查询来获得此结果?

由于

1 个答案:

答案 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)