获取给定日期的日期范围

时间:2017-11-27 07:46:38

标签: php mysql date chart.js

我有以下查询:

SELECT `date_created`, COUNT(`ID`) AS no_of_registration 
FROM (
  SELECT `id`, 
  DATE_SUB(DATE_ADD(MAKEDATE(from_unixtime(`created_on`,'%Y'), 7), 
  INTERVAL EXTRACT(WEEK FROM from_unixtime(`created_on`,'%Y-%m-%d')) WEEK), 
  INTERVAL WEEKDAY(DATE_ADD(MAKEDATE(from_unixtime(`created_on`,'%Y'), 1), 
  INTERVAL EXTRACT(WEEK FROM from_unixtime(`created_on`,'%Y-%m-%d')) WEEK)) -1 DAY)
  as `date_created` 
  FROM `users` WHERE 1) x 
GROUP BY `date_created` 
HAVING `date_created` BETWEEN CURDATE() - INTERVAL 12 WEEK AND CURDATE()

使用今天的日期显示过去12周的数据。但是,它仅显示date_created作为星期一日期。我想把每周都展示为日期范围。示例:2017-11-27 - 2017-12-04

这可能吗?我需要它使用chart.js在我的图表中显示。 enter image description here

谢谢你的帮助。 -Eli

1 个答案:

答案 0 :(得分:0)

你好我不确定我是否理解你的问题,但如果你只想要星期一,你可以添加你的where语句:

AND DAYOFWEEK(a.Date)=2