php/mysql中最接近15分钟的舍入时间

php/mysql中最接近15分钟的舍入时间,php,mysql,Php,Mysql,我有一个MySQL表,其中有一个time字段,用于存储广告发布的时间。我需要按15分钟的时间段对它们进行分组并显示 例如: |comm1|comm2 |comm3| -------------------------------- |8:00- 8:15 | 2 | 5 | 0 | -------------------------------- |8:15- 8:30 | 0 | 0 | 1 | -----------------------

我有一个MySQL表,其中有一个
time
字段,用于存储广告发布的时间。我需要按15分钟的时间段对它们进行分组并显示

例如:

            |comm1|comm2 |comm3|
--------------------------------
|8:00- 8:15 |   2 | 5    |  0  |
--------------------------------
|8:15- 8:30 |   0 | 0    |  1  |
--------------------------------
|8:30- 8:45 |   4 | 1    |  3  |
--------------------------------
|8:45- 9:00 |   4 | 5    |  2  |
--------------------------------
|...        |   . | .    |  .  |
--------------------------------
一直到24点!所以,我需要做两件事:

1) 在全天15分钟的时间段内进行分割,以及

2) 商业广告播出期间,最接近这些时段


有什么想法吗?我只能使用PHP/MySQL。

但不知道关于表的任何信息,这有点难说。但是假设您有一个unix时间戳字段,您可以得到如下所示的开始小时+季度:

SELECT concat( hour( from_unixtime( time ) ) , ':', floor( minute( from_unixtime( time ) ) %4 ) *15 ) FROM table

在本例中,
time
是unix时间戳字段。如果您有一个time/datetime字段,您可以删除FROM_UNIXTIME函数。

但不了解您的表,这有点难说。但是假设您有一个unix时间戳字段,您可以得到如下所示的开始小时+季度:

SELECT concat( hour( from_unixtime( time ) ) , ':', floor( minute( from_unixtime( time ) ) %4 ) *15 ) FROM table
在本例中,
time
是unix时间戳字段。如果您有时间/日期时间字段,您可以删除FROM_UNIXTIME函数。

试试这个-

SELECT
  SEC_TO_TIME((TIME_TO_SEC(time_field) DIV 900) * 900) AS round_time
FROM table
其中900是60秒*15分钟。

试试这个-

SELECT
  SEC_TO_TIME((TIME_TO_SEC(time_field) DIV 900) * 900) AS round_time
FROM table

其中900是60秒*15分钟。

快速搜索stackoverflow会显示以下两个问题,这两个问题可能会帮助您,'选择CAST([Time]作为时间)作为[Time],计数(DATEPART时的大小写(分钟,[Time])在8:00到8:15之间,然后1个为空结束)作为[comm 8:00-8:15],计数(DATEPART时的大小写(分钟,[Time])在8:15和-8:30之间,则1个ELSE NULL END)作为[comm 8:15-8:30],…等等,从表组中按CAST([Time]作为时间)搜索stackoverflow显示以下两个问题,可能会对您有所帮助,'选择CAST([Time]作为时间)作为[Time],在8:00和8:15之间计数(CASE WHEN DATEPART(minute,[Time]),然后1个ELSE NULL END作为[comm 8:00-8:15],计数(当DATEPART(分钟,[Time])在8:15和-8:30之间时,则1个ELSE NULL END)为[comm 8:15-8:30],…以此类推,从表组按CAST([Time]为时间)开始计算([Time]为时间)很抱歉,缺少信息,我的表没有unix时间戳字段。“时间”字段的数据如下所示:6:19->参考小时:分钟,24小时格式。我将尝试一下并让您知道..谢谢您,由于缺少信息,我的表没有unix时间戳字段。“时间”字段的数据如下所示:6:19->参考小时:分钟,24小时格式。我会尝试一下,让你知道这似乎是一个正确、清晰、简单的答案!让我也试试这个,我会尽快回来的。谢谢!这似乎真的是一个正确、清晰、简单的答案!让我也试试这个,我会尽快回来的。谢谢!