【发布时间】:2016-12-07 07:57:09
【问题描述】:
请说明如何在不使用嵌套查询的情况下对当前季度按 7 天分组。 应该是这样的:
Week_period Date Clicks
1 1-10-2016 To 07-10-2016 30
2 8-10-2016 To 14-10-2016 40
3 15-10-2016 To 28-10-2016 20
4 29-10-2016 To 04-11-2016 10
5 05-11-2016 To 11-11-2016 80
6 12-11-2016 To 18-11-2016 90
并将持续到 2016 年 12 月 31 日
CREATE TABLE IF NOT EXISTS `user_click` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`date` datetime NOT NULL
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
感谢您的帮助。我修改了如下代码:
SELECT STR_TO_DATE(CONCAT(YEARWEEK(`date`), ' Sunday'), '%X%V %W') week_start,
STR_TO_DATE(CONCAT(YEARWEEK(`date`), ' Saturday'), '%X%V %W') week_end,
SUM(id) clicks
FROM `user_click` where QUARTER(`date`) = QUARTER(CURRENT_DATE())
GROUP BY YEARWEEK(`date`)
但它也给出了 9 月的日期,这是不正确的。目前我得到的输出为:
week_start week_end clicks
2016-09-25 2016-10-01 1
2016-10-02 2016-10-08 70
但所需的结果不匹配,因为我想要的结果取决于天,即 10 月 1 日至 10 月 7 日,如前所述。请帮助解决这方面的问题
【问题讨论】:
-
提供你的表结构
-
@Newbee Dev 请看表结构
标签: mysql