MySQL DateTime按日期和小时分组

MySQL DateTime按日期和小时分组

在MySQL数据库中,DateTime是一种常见的数据类型,可以表示日期和时间。在某些场合下,我们需要按照DateTime字段中的日期和小时进行分组,本文将介绍如何使用MySQL语句实现此功能。

阅读更多:MySQL 教程

让我们看看我们的数据

让我们从以下表中查询一些数据:

id datetime value
1 2022-07-12 10:14:54 5
2 2022-07-12 11:22:31 3
3 2022-07-13 16:42:18 10
4 2022-07-13 18:24:57 20
5 2022-07-13 19:51:39 15
6 2022-07-14 09:31:25 8
7 2022-07-14 10:23:51 12

分组按日期

我们需要将数据按日期分组,由于DateTime字段中包含日期和时间,我们需要使用日期函数将DateTime字段中的时间去除。

要按照日期分组,我们需要使用DATE函数。该函数将DateTime参数作为输入,返回仅包含日期的字符串。下面是查询语句:

SELECT DATE(datetime) as date, SUM(value) as total
FROM table_name
GROUP BY DATE(datetime)
Mysql

输出:

date total
2022-07-12 8
2022-07-13 45
2022-07-14 20

按日期和小时分组

要按日期和小时分组,我们需要使用DATE_FORMAT函数。该函数接受DateTime和格式化字符串作为参数,返回一个带有指定格式的字符串。下面是查询语句:

SELECT DATE_FORMAT(datetime, '%Y-%m-%d %H:00:00') as date_hour, SUM(value) as total
FROM table_name
GROUP BY DATE_FORMAT(datetime, '%Y-%m-%d %H:00:00')
Mysql

输出:

date_hour total
2022-07-12 10:00:00 5
2022-07-12 11:00:00 3
2022-07-13 16:00:00 10
2022-07-13 18:00:00 20
2022-07-13 19:00:00 15
2022-07-14 09:00:00 8
2022-07-14 10:00:00 12

总结

在MySQL数据库中,DateTime是一种表示日期和时间的常见数据类型。如果需要按照日期、小时或日期和小时进行分组,我们可以使用DATEDATE_FORMAT函数。使用这些函数可以轻松地将DateTime字段中的时间部分去除或格式化。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册