mySQL查询列出我的网站每天收到的评论数量?

时间:2009-03-30 07:23:54

标签: mysql drupal

我运行一个在线杂志,想要一种简单的方法来跟踪3个指标:

  1. 每天留下多少条评论。
  2. 我的用户提交了多少个链接。
  3. 我每天有多少新会员。
  4. 这些信息都是我的数据库,我只是不确定如何解决它。

    我有一个“评论”表,大约有3500条评论。每条评论在表格中都有一行。表中的一列是“timestamp。”

    我假设有一个查询将选择此表,按时间戳对行进行排序,以24小时为增量对它们进行分组,然后计算每组中的行数 - 告诉我每天收到的新评论数量

    该查询会是什么样的?如果我有第一个工作,我想我可以弄明白其他的。

2 个答案:

答案 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