Скажем, у нас есть таблица posts
со столбцами: id, title, expires_at
. Мы хотим показать, сколько сообщений не «истек» каждую неделю каждого года.MYSQL: группировка по неделям, где больше, чем в понедельник
Может быть более простой способ положить это будет: «число сообщений, сгруппированных по неделям года, когда expires_at
дата велика, то начало каждой недели»
Например:
-------------------------------------------------
| Year | Week | posts_not_expired |
------------|-----------|-----------------------|
| 2017 | 01 | 22 |
| 2017 | 02 | 103 |
| 2017 | 03 | 7 |
| ... | ... | ... |
| 2009 | 52 | 63 |
|-----------|-----------|-----------------------|
Что мы имеем до сих пор:
SELECT
COUNT(id) as posts_not_expired,
YEAR(expires_at) * 100 as Year,
YEARWEEK(expires_at) as Week,
FROM posts
GROUP BY Year, Week
Вы пытались выполнить SQL-запрос? – emaillenin
Да, сбой, я не хочу загромождать ответ здесь с плохим SQL. – AndrewMcLagan
можете ли вы предоставить небольшой набор образцов, который бы создал этот результат? Поместить его в http://sqlfiddle.com/ было бы еще лучше. – Sean