MySQL 从数据库分组

标签 mysql sql database grouping

我正在创建一个数据库,其中包含发生情况、发生时间日期和小时/分钟/秒。

OCCURANCE   TIME
FAIL        01/01/2014 01:00:00
FAIL        01/01/2014 01:05:00
FAIL        01/01/2014 02:11:11
FAIL        01/01/2014 02:09:00
FAIL        01/01/2014 02:11:11

我试图找出给定时间和日期范围内每小时发生的次数。我想按小时对它们进行分组。

select count(*) from table where TIME between '01-01-2014 01:00:00' AND '01-01-2014 03:00:00' GROUP BY(not sure)

预期结果

Date                   count
01/01/2014 hour 1        2  
01/01/2014 hour 2        3

我应该只将小时数转储到列中,而不是分钟和秒吗?我认为这可能有用,但我不是这方面的专家。

例如

OCCURANCE     DATE      HOUR
FAIL        01/01/2014    01
FAIL        01/01/2014    01
FAIL        01/01/2014    02
FAIL        01/01/2014    02
FAIL        01/01/2014    02

最佳答案

select OCCURANCE, date(time), hour(time), count(*) 
from table 
where TIME between '01-01-2014 01:00:00' AND '01-01-2014 03:00:00' 
GROUP BY OCCURANCE, date(time), hour(time)

关于MySQL 从数据库分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23277827/

相关文章:

sql - 如何使用新分区将数据从 TableA 复制到 TableB?

php - 如何确保在 PHP 中作为一个单元提交或中止 SQL 操作?

java - Hibernate - 实体 - 数据库保存

mysql - sql:列索引 19 上的扫描错误,名称 "L2Name":不支持扫描,将 driver.Value 类型 <nil> 存储到类型 *string

ruby-on-rails - 数据库迁移到 heroku 不起作用

php - 为什么 SQLSTATE[HY000] : General error?

php - 使用 PHPxcel 减少数据库插入的执行时间

PHP 多维数组返回空子数组

SQL执行计划缓存

mysql计算列中唯一id的数量