Выборка по неделям

IvanShumkov

Новичок
Выборка по неделям

В таблице 3 колонки:
id - integer
date - date
best - enum('Y','N')

Рядов в таблице - 178549.

Суть проблемы такова, как сделать выборку из таблицы по неделям, где есть ряды best = Y. И листинг этих недель.

Никак не могу понять. Внимательно изучил функции даты, есть интервалы, но применить их у меня не вышло.
 

Кром

Новичок
Выборка по неделям:
SELECT * FROM `table` WHERE YEAR(`date`) = "2004" AND WEEK(`date`,1) = "num_of_week (0-53) " AND best = "Y"

С листингом не совсем понятно что тебе нужно выводить. Поясни.
 

IvanShumkov

Новичок
Листинг недель в которых есть best = Y, например:
13.12.2004 - 19.12.2004
20.12.2004 - 26.12.2004

Кликаешь и получаешь список id, где best = Y.

Как сделать саму выборку для листинга недель в которых есть best = Y?
 

Кром

Новичок
Это будет примерно так выглядеть:

SELECT
WEEK(`date`,1) AS WEEK_NUM,
DATE_SUB(`date`, INTERVAL WEEKDAY(`date`) DAY) AS WEEK_MON,
DATE_SUB(`date`, INTERVAL (WEEKDAY(`date`)-6) DAY) AS WEEK_SUN
FROM `table`
WHERE `best` = "Y"
GROUP BY `WEEK_MON`
 

IvanShumkov

Новичок
Спасибо. Очень вам благодарен. Наконец понял как с датами в Mysql работать.
 
Сверху