Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php时间戳按天、周和月划分的MYSQL组_Mysql_Sql - Fatal编程技术网

使用php时间戳按天、周和月划分的MYSQL组

使用php时间戳按天、周和月划分的MYSQL组,mysql,sql,Mysql,Sql,可能重复: 我将php时间戳(例如1307362819)存储在数据库的一列中。我希望以天、周和月为单位对数据进行分组计数(*) 例如,我想知道每天、每周和每月有多少个条目 如何做到这一点?为什么不使用以下方法: 使用mysql日期/时间函数来计算过去所需的日期。 如果您将它们存储为int或string或其他格式,请使用UNIX\u时间戳。这里是一个很好的示例 SELECT MONTH( FROM_UNIXTIME( `timeStamp` ) ) , COUNT( `id` ) FROM

可能重复:

我将php时间戳(例如1307362819)存储在数据库的一列中。我希望以天、周和月为单位对数据进行分组计数(*)

例如,我想知道每天、每周和每月有多少个条目

如何做到这一点?

为什么不使用以下方法:

使用mysql日期/时间函数来计算过去所需的日期。
如果您将它们存储为int或string或其他格式,请使用UNIX\u时间戳。

这里是一个很好的示例

SELECT MONTH( FROM_UNIXTIME(  `timeStamp` ) ) , COUNT(  `id` ) 
FROM  `discusComments` 
GROUP BY MONTH( FROM_UNIXTIME(  `timeStamp` ) ) 

编辑:

试试这个

          select
id_user,
year(time) as AYear, week(time) as AWeek, day(time) as Aday ,
count(week(time)) as TotalPerWeek , count(day(time)) as TotalPerDay ,
count(year(time)) as TotalPerYear
from yourtable
where id_user = 16             //// the user u want to check
group by id_user, AYear, AWeek , Aday
order by AYear, AWeek , Aday

您可以从时间戳中减去日、周和月值,并将减去的值分组

按天值分组:

select count(*) from table group by from_unixtime(timeStampColumn, '%Y%m%d')
按周值分组:

select count(*) from table group by from_unixtime(timeStampColumn, '%Y%m%u')
按月值分组:

select count(*) from table group by from_unixtime(timeStampColumn, '%Y%m')

有关更多信息,请查看此页面:

您尝试过什么吗?MONTH(
timeStamp
)返回空值。例如,我想做:12月16日X posts,12月15日X posts(无论今天是什么,在过去15天内都要这样做),我还想用周和月来做同样的事情,以了解发表了多少篇文章。MONTH(
timeStamp
)返回空值,解释为什么这样可以解决问题。
select count(*) from table group by from_unixtime(timeStampColumn, '%Y%m')