php - 使用 SUM 时的 MySQL 分组日期时间

标签 php mysql datetime

我正在使用此 MySQL 查询以 15 分钟的分组添加交通记录。

    SELECT SUM(bytes), ROUND(UNIX_TIMESTAMP(timestamp_end)/(15 * 60)) AS timekey 
      FROM acct_v9 
  GROUP BY timekey

我的“timestamp_end”列存储为日期时间,但是当我尝试使用 FROM_UNIXTIME 将此查询转换回日期时间时,我一直在获取 1970 年的日期。

最佳答案

当您对时间戳进行除法和舍入时,您不会获得有效的时间戳。您必须将它重新乘以 (15*60):

    SELECT COUNT(*), 
           SUM(bytes), 
           ROUND(UNIX_TIMESTAMP(timestamp_end)/(15 * 60))*(15*60) AS timekey
      FROM acct_v9 
  GROUP BY timekey

通过此查询,您将获得有效的时间戳。

要直接获取格式化日期,您可以使用此查询:

   SELECT COUNT(*), 
          SUM(bytes), 
          FROM_UNIXTIME
          (
            ROUND(UNIX_TIMESTAMP(timestamp_end)/(15 * 60))*(15*60)
            ,'%Y-%m-%d %H:%i:%s'
          ) AS timekey
     FROM acct_v9 
 GROUP BY timekey

sqlFiddle demo

显然,您可以将 %Y-%m-%d %H:%i:%s 更改为您想要的格式。

关于php - 使用 SUM 时的 MySQL 分组日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35998364/

相关文章:

php - 如何删除 Jquery PHP 回显错误?

mysql - 按非标准天数结束计算天数

java - 使用 Gson 将时间从 UTC 转换为其他时区失败

php - 我应该如何阅读从 Firefox 导出的书签?

php - Yii、yiic 和控制台

PHP 是否可以识别包含对象的变量的名称?

mysql - 重叠预订的最小和最大计数

php - 使用 jQuery/AJAX 更新 MYSQL

python - 使用sqlalchemy创建一个mysql数据库

sql-server - Excel 默认仅将日期显示为时间