Как вы можете получить число текущих событий, зачисленных в текущий день, с отметкой времени UNIX, например, есть 2 события 17 февраля 2012 года и 1 событие 19 февраля 2012 года. Должны быть возвращены строки, подобные этой:
Array
(
[0] => stdClass Object
(
[event_id] => 4
[total_events] => 2
)
[1] => stdClass Object
(
[event_id] => 18
[total_events] => 2
)
[2] => stdClass Object
(
[event_id] => 19
[total_events] => 1
)
)
Первые два элемента запланированы на один и тот же день друг друга (17 февраля), а последний элемент на 19 февраля, а другие события не запланированы на тот же день.
Я попробовал этот метод, но он возвращает это:
Array
(
[0] => stdClass Object
(
[event_id] => 1
[total_events] => 1
)
[1] => stdClass Object
(
[event_id] => 2
[total_events] => 1
)
[2] => stdClass Object
(
[event_id] => 3
[total_events] => 1
)
)
Это следующий SQL, который я сделал до сих пор, без хорошего результата:
SELECT events.event_id,
SUM(IF(DATE_FORMAT(FROM_UNIXTIME(events.event_starts), '%y %m %d') = DATE_FORMAT(FROM_UNIXTIME(events.event_ends), '%y %m %d'), 1, 0)) AS total_events
FROM
(
scheduled_events events
)
WHERE ( events.event_starts >= 1328486400 AND events.event_ends <= 1329695940 )
GROUP BY events.event_id
Две метки времени UNIXнаходятся в диапазоне от понедельника 13 февраля 12:00 до воскресенья 19 февраля 23:59, как в схеме следующей недели.
Как получить количество событий, которое возвращает количество событий в каждый день неделикогда в этот день происходит событие следующего события.