繁体   English   中英

获取给定日期的日期范围

[英]Get Date Range with Given Date

我有以下查询:

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的图形中。 在此处输入图片说明

感谢您的帮助。 -埃利

您好,不确定我是否了解您的问题,但是如果您只希望星期一,可以在where语句中添加:

AND DAYOFWEEK(a.Date)=2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM