MySQL группировка по неделям, на основе столбца даты - PullRequest
5 голосов
/ 30 июня 2011

У меня есть таблица со столбцом даты, и я хотел бы попытаться сгруппировать ее, используя неделю в качестве эталона времени, чтобы подсчитать, сколько строк произошло в неделю.Я делал это в течение нескольких дней, используя GROUP BY Date (Date_Column), но я не уверен, как это сделать по неделям?

Спасибо

Ответы [ 5 ]

5 голосов
/ 30 июня 2011
SELECT ...
FROM ....
GROUP BY YEAR(Date_column), WEEKOFYEAR(Date_Column);
3 голосов
/ 30 июня 2011

Попробуйте поставить GROUP BY YEARWEEK(date_column) в конце вашего запроса - это будет учитывать и год, в котором находится дата.

2 голосов
/ 30 июня 2011
SELECT week(Date_Column)
FROM ....
GROUP BY week(Date_Column);
1 голос
/ 18 апреля 2018
 SELECT WEEKOFYEAR("2017-01-01"),YEARWEEK("2017-01-01"),WEEK("2017-01-01");

Выходы:

WEEKOFYEAR("2017-01-01")    YEARWEEK("2017-01-01")  WEEK("2017-01-01")
52                          201701                  1

Похоже, YEARWEEK - лучшее решение.Не нужно совпадать с годом.

0 голосов
/ 18 апреля 2018
SELECT CONCAT(YEAR(Date_Column),'/',WEEK(Date_Column)) AS efdt 
FROM ....
GROUP BY efdt;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...