mysql - 你如何在 MySQL 中按小时增量分组?

标签 mysql group-by

在MySQL中,将单表中的数据统计到小时桶中有什么好的方法?

我试过了,

SELECT count(*) FROM tournament GROUP BY HOUR(date_created)

但这会将不同日期的小时分组在一起,因为它只是使用小时数值作为分组。

我想使用 date_created 作为石斑鱼,但没有时间单位减去小时。但可能有更好的方法来实现这一点。

有什么建议吗?

最佳答案

您可以使用 DATE_FORMAT 格式化日期包括到小时为止的所有重要部分:

GROUP BY DATE_FORMAT(date_created, '%Y-%m-%d %H')

DATE_FORMAT 返回一个字符串,要得到一个 MySQL DateTime,使用下面的

GROUP BY STR_TO_DATE(DATE_FORMAT(date_created, '%Y-%m-%d %H'), '%Y-%m-%d %H')

关于mysql - 你如何在 MySQL 中按小时增量分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16921388/

相关文章:

MYSQL - 使用 GROUP BY 时获取最新结果

MYSQLWhere语句/子句被忽略

mysql - 使用 UNION 语句的 SQL 查询中的标记无效

更新表时 MySQL 更新错误

pandas - 使用除午夜以外的其他开始时间分组日期

linq - Linq GroupBy 使用 Default EqualityComparer 的主要比较

python - pandas groupby 有两个键

mysql join消除重复

mysql - Eloquent 异常: A four digit year could not be found Data missing when using protected dates

mysql - System.Threading.ThreadAbortException