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参数作为输入,返回仅包含日期的字符串。下面是查询语句:
输出:
date | total |
---|---|
2022-07-12 | 8 |
2022-07-13 | 45 |
2022-07-14 | 20 |
按日期和小时分组
要按日期和小时分组,我们需要使用DATE_FORMAT
函数。该函数接受DateTime和格式化字符串作为参数,返回一个带有指定格式的字符串。下面是查询语句:
输出:
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是一种表示日期和时间的常见数据类型。如果需要按照日期、小时或日期和小时进行分组,我们可以使用DATE
或DATE_FORMAT
函数。使用这些函数可以轻松地将DateTime字段中的时间部分去除或格式化。