EN
MySQL - count rows per hour
3
points
In this article, we would like to show you how to count rows per hour in MySQL.
Quick solution:
SELECT COUNT(*), HOUR(`timestamp_column_name`)
FROM `table_name`
GROUP BY HOUR(`timestamp_column_name`);
Note:
This solution works both for
TIMESTAMP
andDATETIME
type.
Practical example
To show how to count rows per hour, we will use the following table:
Note:
At the end of this article you can find database preparation SQL queries.
Example
In this example, we will display the date and the number of registered users for each hour.
Query:
SELECT
HOUR(`registration_time`) AS 'hour',
COUNT(*) AS 'number_of_times'
FROM `users`
GROUP BY HOUR(`registration_time`);
Result:
Database preparation
create_tables.sql
file:
CREATE TABLE `users` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`username` VARCHAR(50) NOT NULL,
`registration_time` DATETIME NOT NULL,
PRIMARY KEY (`id`)
);
insert_data.sql
file:
INSERT INTO `users`
(`username`, `registration_time`)
VALUES
('Tom', '2021-01-01 11:41:31'),
('Chris','2021-01-02 11:42:45'),
('Jack','2021-01-03 15:13:39'),
('Kim','2021-01-03 15:24:51'),
('Marco','2021-01-04 22:35:38'),
('Kate','2021-01-04 22:46:51'),
('Nam','2021-01-04 22:57:37');