У меня есть приложение PHP, использующее CakePHP. Мне нужно представить таблицу, показывающую количество конкретных событий за каждый день месяца. Каждое событие представляет собой запись в БД с именем и данными. Каков наилучший способ создания таблицы для этого, действительно ли мне нужно выполнить 31 SQL-вызов, чтобы подсчитывать события за каждый день или вынимать данные за весь месяц, а затем анализировать их в своем приложении или есть ли лучше найти команду для использования с тортом?
Вы можете ЗАПИСАТЬ события, а GROUP BY – дату, когда они произошли.
Пример:
SELECT eventDate, COUNT() as 'events' FROM events GROUP BY eventDate ORDER BY eventDate ASC
Это может привести к следующим результатам:
2009-08-11 | 23 2009-08-09 | 128 2009-08-06 | 15
Если вы сохраняете дату и время в качестве события EventDate, вам нужно использовать функцию substr () для получения событий, сгруппированных по дате:
SELECT substr(eventDate, 1, 10) as 'date', COUNT() as 'events' FROM events GROUP BY substr(eventDate, 1, 10) ORDER BY eventDate ASC