berkut
Новичок
подсчёт кол-ва дней
есть странная таблица событий
если is_period == "0", то date2 может отсутствовать и в этом случае, date1, date2 - это отдельные даты. если is_period == 1, то даты указывают на границы временного интервала: с date1 по date2. Как можно подсчитать количество (уникальных)дней, в которых происходят события? т.е.
здесь кол-во дней == 5
есть корявая идея использовать отдельную таблицу event_dates(event_id - date), в которой расписывать все периоды по дням. т.е. первый ряд из примера превратиться в
1---2007-12-01
1---2007-12-02
1---2007-12-03
но слишком большое дублирование данных получается, т.к. периоды могут быть по несколько месяцев.
есть странная таблица событий
Код:
CREATE TABLE events (
id mediumint(9) unsigned NOT NULL auto_increment,
date1 datetime NOT NULL default '0000-00-00 00:00:00',
date2 datetime NOT NULL default '0000-00-00 00:00:00',
is_period enum('0','1') NOT NULL default '0',
PRIMARY KEY (id)
) ENGINE=MyISAM
Код:
id-------------date1-------------date2-------------is_period
1-------------2007-12-01-------------2007-12-03-------------1
2-------------2007-12-02-------------2007-12-04-------------1
3-------------2007-12-05-------------0000-00-00-------------0
есть корявая идея использовать отдельную таблицу event_dates(event_id - date), в которой расписывать все периоды по дням. т.е. первый ряд из примера превратиться в
1---2007-12-01
1---2007-12-02
1---2007-12-03
но слишком большое дублирование данных получается, т.к. периоды могут быть по несколько месяцев.