2009-08-24 6 views
2

У меня есть приложение PHP, использующее CakePHP. Мне нужно представить таблицу, показывающую количество конкретных событий за каждый день месяца. Каждое событие представляет собой запись в БД с именем и данными. Каков наилучший способ создания таблицы для этого, действительно ли мне нужно выполнить 31 SQL-вызов, чтобы подсчитывать события за каждый день или вынимать данные за весь месяц, а затем анализировать их в своем приложении или есть ли лучше найти команду для использования с тортом?Несколько счетчиков в CakePHP

ответ

4

Вы можете ЗАПИСАТЬ события и 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 
Смежные вопросы