我希望按周显示一个月内的日期,这就是我所做的 .
select date(subdate(table1.date1, interval (dayofweek(table1.date1)-2)day)) as OverWeek,count(table1.Id)
from table1
where YEAR(table1.date1 ) = YEAR(CURDATE())
AND MONTHNAME(table1.date1) = "June"
GROUP BY OverWeek
但对于六月,它显示我7月1日 . 我想因为7月1日,这是一个星期一,但我不知道如何解决这个问题 .
先感谢您
以六月为例
+------------+
| dt |
+------------+
| 2013-06-01 |
| 2013-06-08 |
| 2013-06-15|
| 2013-06-22 |
| 2013-06-29 |
+------------+
和2013-06-01组2013-06-01截至2013-06-07和2013-06-08组2013-06-08截至2013-06-14 ....
2 回答
考虑这个数据集......
......像这样的黑客可能有用......
SELECT COUNT(table1.Id),OverWeek FROM(SELECT *,其中YEAR(table1.date1)= YEAR(CURDATE())和MONTHNAME(table1.date1)=“June”FROM Orders)o GROUP BY OverWeek;