2

Mysqlで特定の日付から始まる7日間隔(datetime)で行をグループ化する方法はありますか?

4

3 に答える 3

16
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 ;
于 2013-01-17T13:34:15.553 に答える
2
SELECT *
FROM  `table` 
GROUP BY WEEK( ADDDATE( `date_column` , WEEKDAY(NOW()) ) ) 
于 2013-01-17T12:46:14.307 に答える
0
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 日後に作成されたユーザーが選択されます。変更を加えて、必要に応じてクエリを実行します。

于 2013-01-17T12:41:50.973 に答える