CakePHP 中的多重计数
Posted
技术标签:
【中文标题】CakePHP 中的多重计数【英文标题】:Multiple Counts in CakePHP 【发布时间】:2009-08-24 11:21:53 【问题描述】:我有一个使用 Cakephp 的 PHP 应用程序。我需要提供一个表格,显示该月每一天的特定事件的计数。每个事件都以名称和数据记录在数据库中。为此创建表的最佳方法是什么,我真的需要执行 31 个 SQL 调用来计算每天的事件,还是取出整个月的数据然后在我的应用程序中解析它,或者是否有更好地查找与 cake 一起使用的命令?
【问题讨论】:
【参考方案1】:您可以对事件进行计数,并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
【讨论】:
以上是关于CakePHP 中的多重计数的主要内容,如果未能解决你的问题,请参考以下文章