几天以来,我一直在尝试计算MySQL数据库中每小时的记录数。我有一个表,其中包含大量记录,并且包含列DATE和列TIME,其中在DATE中,记录的日期格式为2022-05-19,而在列TIME中,记录的时间格式为14:59:38。我正在尝试计算每一天每小时有多少记录。如下所示:
DATE HOUR PCS
22-05-18 06-07 11
22-05-18 08-09 20
......... ..... ..
....... 21-22 33
我试过很多不同的方法,但都没有成功。例如:
SELECT 'Date', count(*) FROM `root4`
where
DATE between '2022-05-01' and '2022-05-1' AND
TIME BETWEEN '06:11:05' AND '07:11:05'
任何帮助都是高度评价的。
1条答案
按热度按时间pod7payv1#
我建议不要对列使用保留字,因为您将不得不经常避开它们。https://dev.mysql.com/doc/refman/8.0/en/keywords.html
如果将
TIME
存储为时间戳,则可以使用HOUR()
函数提取小时,并按此分组:如果碰巧将其存储为文本,则可以使用
REGEXP_SUBSTR
从时间字符串中获取小时值。您可以根据需要设置
HOUR
列的格式,例如使用CONCAT
显示01-02
而不是1
,但这是基本设置。