CakePHP中的多个计数

时间:2009-08-24 11:21:53

标签: php sql mysql cakephp

我有一个使用CakePHP的PHP应用程序。我需要提供一个表格,显示每月每天的特定事件的数量。每个事件都在DB中记录,并带有名称和数据。为此创建表的最佳方法是什么,我是否真的需要进行31次SQL调用来计算每天的事件,或者取出整个月的数据,然后在我的应用程序中解析它,或者是否有更好地找到与蛋糕一起使用的命令?

1 个答案:

答案 0 :(得分: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