2009-08-24 54 views
2

我有一个使用CakePHP的PHP应用程序。我需要提供一张表格,显示每月每天特定事件的计数。每个事件都在数据库中记录一个名称和一个数据。为此创建一个表的最好方法是,我真的需要做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