2014-09-01 62 views
0

我正在尝试执行一个sql来检索开始时间和行数,在对时间段进行分组后。我已经检查了计算器上,我可以acheive这样做按时间排序的MySQL组

GROUP BY UNIX_TIMESTAMP(time_stamp) DIV 30 

的问题是,我需要这具有一定的时间开始(它可能或行之间不存在),甚至(如果possible--不需要考虑)也可以添加0个计数项目的时间。

例如,具有与该行的表:

+---------------------+-----------------+ 
| time_stamp   | id    | 
+---------------------+-----------------+ 
| 2010-06-15 23:00:04 |    1 | 
| 2010-06-15 23:00:30 |    2 | 
| 2010-06-15 23:01:30 |    3 | 
| 2010-06-15 23:03:30 |    4 | 
| 2010-06-15 23:04:30 |    5 | 
| 2010-06-15 23:06:10 |    6 | 
| 2010-06-15 23:06:20 |    7 | 
| 2010-06-15 23:06:30 |    8 | 
| 2010-06-15 23:06:30 |    9 | 
| 2010-06-15 23:06:35 |    10 | 
+---------------------+-----------------+ 

和开始2010-06-15 23时○○分00秒,每分钟(DIV 60),我想有以下输出:

+---------------------+-----------------+ 
| time_stamp   | count(id)  | 
+---------------------+-----------------+ 
| 2010-06-15 23:00:00 |    2 | 
| 2010-06-15 23:01:00 |    1 | 
| 2010-06-15 23:02:00 |    0 | 
| 2010-06-15 23:03:00 |    1 | 
| 2010-06-15 23:04:00 |    1 | 
| 2010-06-15 23:05:00 |    0 | 
| 2010-06-15 23:06:00 |    5 | 
+---------------------+-----------------+ 

。即使没有count = 0的情况也会很酷。

Also..adding每一个时间戳,然后删除它是没办法了..

这些都是假的DATAS,我不想只分来划分,而是由PHP

参数

正确的答案可以找到here,但我只能通过帖子标记为接受。

+0

你是什么意思一个参数? – 2014-09-01 05:07:42

+0

这将是一个查询在PHP函数 – 2014-09-01 05:08:27

+0

可能重复[分组的MySQL日期时间间隔,而不考虑时区](http://stackoverflow.com/questions/11789818/grouping-mysql-datetime-into-intervals-irrespective-of时区) – 2014-09-01 05:37:35

回答

1

所有你想做的事就是GROUP BY,然后使用时间函数。在这种情况下分钟都应该做自己想做的

SELECT COUNT(*) FROM table 
GROUP BY MINUTE(time_stamp) 

编辑:

问题的编辑,我相信以后这个查询将更接近你想要做的事情。

SELECT 
    FROM_UNIXTIME 
    ( FLOOR(UNIX_TIMESTAMP(`time_stamp`)/your_var 
      )* your_var 
) AS timesliced, 
    COUNT(*) AS mycount 
FROM tablename 
WHERE time_stamp >= '2010-06-15 23:01:45' 
GROUP BY timesliced 
+0

**编辑**我不想只分钟,但由一个参数,并从像2010-06-15 23:01:45 – 2014-09-01 05:07:50

+0

CERTAIN日期开始,你需要澄清更多..你是什​​么意思的参数?我可以限制结果让日期从那个特定的日期开始。但是如果不是几分钟,你会如何划分呢?那是什么预期的结果显示。 – 2014-09-01 05:10:21

+0

例如对于每X秒,其中X将作为来自php函数的输入 – 2014-09-01 05:12:22