Есть ли способ группировать строки через 7 дней (datetime), начиная с определенной даты в Mysql?
SELECT 1 + DATEDIFF(columnDate, @start_date) DIV 7 AS weekNumber , @start_date + INTERVAL (DATEDIFF(columnDate, @start_date) DIV 7) WEEK AS week_start_date , MIN(columnDate) AS actual_first_date , MAX(columnDate) AS actual_last_date , SUM(otherColumn) , AVG(otherColumn) --- FROM tableX WHERE columnDate >= @start_date GROUP BY DATEDIFF(columnDate, @start_date) DIV 7 ;
SELECT * FROM `table` GROUP BY WEEK( ADDDATE( `date_column` , WEEKDAY(NOW()) ) )
SELECT users.* from users WHERE created_at >= '2011-12-01' AND created_at <= date_add('2011-12-01', INTERVAL 7 DAY)
Это выбирает пользователей, созданных между 201-12-01 и 7 днями после этого. Внесите изменения, чтобы запросить, исходя из ваших потребностей.