2010-05-14 66 views
0

我不是很擅长sql,一般我使用php来完成我的复杂任务,但是在这个任务中,有很多数据,所以使用php来计算帖子非常缓慢。所以我想要一个按日期计算sql的日期,但我在表中的日期列是php的时间戳(int)。我将创建邮箱编号x日期图表Mysql:计算帖子和按日期分组

回答

2

对于不知道的SQL,您似乎有一个体面的把握术语。

像这样的东西应该工作:

SELECT FROM_UNIXTIME(post_date, '%Y %D %M') AS POST_DATE, 
     COUNT(post_id) AS POST_COUNT 
    FROM posts 
GROUP BY POST_DATE 
0

不知道有关MySQL,但Postgres的你可以这样做(名为至少列ID和php_timestamp职位表):

SELECT COUNT(id), php_timestamp - (php_timestamp % 86400) AS base_date 
FROM posts 
GROUP BY php_timestamp - (php_timestamp % 86400) 

当然,强烈建议使用表达式php_timestamp - (php_timestamp%86400)的索引(不确定您可以在MySQL中创建一个)。按照UTC的日期进行分组。

+0

“按UTC日期分组” - 查询中没有任何内容与UTC有关。 – zerkms 2010-05-14 04:33:09

+0

Unix时间(PHP使用的)计算1970年1月1日UTC的秒数。然后,我将四舍五入到UTC的最近一天的午夜时间。 – Artefacto 2010-05-14 13:32:35