我运行一个在线杂志,想要一种简单的方法来跟踪3个指标:
这些信息都是我的数据库,我只是不确定如何解决它。
我有一个“评论”表,大约有3500条评论。每条评论在表格中都有一行。表中的一列是“timestamp。”
我假设有一个查询将选择此表,按时间戳对行进行排序,以24小时为增量对它们进行分组,然后计算每组中的行数 - 告诉我每天收到的新评论数量
该查询会是什么样的?如果我有第一个工作,我想我可以弄明白其他的。
答案 0 :(得分:7)
此片段将在主题表中显示您的结果:
$sq = 'SELECT COUNT(*) cnt, DATE(FROM_UNIXTIME(timestamp)) day '
. 'FROM {comments} c '
. 'GROUP BY 2 '
. 'ORDER BY 2 DESC';
$q = db_query($sq);
$stats = array();
while ($o = db_fetch_object($q)) {
$stats[$o->day] = array($o->day, $o->cnt);
}
return theme('table', NULL, $stats));
使用DATE(时间戳)不起作用,因为comments.timestamp是UNIX_TIMESTAMP格式,而DATE()需要ASCII日期。
答案 1 :(得分:0)
使用date_format()函数格式化日期;
select count(id) as commentCount, date_format(dateColumn, '%Y-%m-%d') as commentDate
from yourTable
group by commentDate