Terkadang Anda mungkin perlu mendapatkan data per jam, atau mengambil catatan untuk setiap jam di MySQL. Pada artikel ini, kita akan melihat cara mendapatkan data untuk setiap jam di MySQL.
Cara Mendapatkan Data Setiap Jam di MySQL
Berikut adalah langkah-langkah untuk mendapatkan data untuk setiap jam di MySQL. Katakanlah Anda memiliki tabel berikut penjualan(id, tanggal_pesanan, jumlah)
mysql> create table sales(id int, order_date datetime, amount int); mysql> insert into sales(id, order_date, amount) values(1, '2021-02-02 08:15:00',250), (2, '2021-02-02 08:30:00',200), (3, '2021-02-02 08:55:00',150), (4, '2021-02-02 09:15:00',125), (5, '2021-02-02 09:30:00',250), (6, '2021-02-02 09:45:00',200), (7, '2021-02-02 10:15:00',180), (8, '2021-02-02 10:30:00',125), (9, '2021-02-02 10:45:00',200), (10, '2021-02-02 11:15:00',250), (11, '2021-02-02 11:30:00',150), (12, '2021-02-02 11:45:00',200); mysql> select * from sales; +------+---------------------+--------+ | id | order_date | amount | +------+---------------------+--------+ | 1 | 2021-02-02 08:15:00 | 250 | | 2 | 2021-02-02 08:30:00 | 200 | | 3 | 2021-02-02 08:55:00 | 150 | | 4 | 2021-02-02 09:15:00 | 125 | | 5 | 2021-02-02 09:30:00 | 250 | | 6 | 2021-02-02 09:45:00 | 200 | | 7 | 2021-02-02 10:15:00 | 180 | | 8 | 2021-02-02 10:30:00 | 125 | | 9 | 2021-02-02 10:45:00 | 200 | | 10 | 2021-02-02 11:15:00 | 250 | | 11 | 2021-02-02 11:30:00 | 150 | | 12 | 2021-02-02 11:45:00 | 200 | +------+---------------------+--------+
Cara mendapatkan data setiap jam di MySQL
Berikut adalah query SQL untuk mendapatkan data setiap jam di MySQL.
mysql> select hour(order_date),sum(amount) from sales group by hour(order_date); +------------------+-------------+ | hour(order_date) | sum(amount) | +------------------+-------------+ | 8 | 600 | | 9 | 575 | | 10 | 505 | | 11 | 600 | +------------------+-------------+
Dalam query di atas, kita cukup mengelompokkan berdasarkan order_date menggunakan fungsi JAM dan agregat jumlah kolom menggunakan fungsi SUM.
Fungsi HOUR mengambil nomor jam dari nilai tanggal/waktu/datetime tertentu, yang dapat diberikan sebagai string literal atau nama kolom.
Jika Anda ingin menampilkan nilai jam menggunakan notasi AM/PM seperti 8AM, 9AM , dll, maka Anda perlu menggunakan fungsi date_format yang memungkinkan Anda untuk mengubah format nilai tanggal/waktu/datetime yang diberikan, yang dapat diberikan sebagai string literal atau nama kolom.
mysql> select date_format(order_date,'%H %p') as hour, sum(amount) as total_sales from sales group by date_format(order_date,'%H %p'); +-------+-------------+ | hour | total_sales | +-------+-------------+ | 08 AM | 600 | | 09 AM | 575 | | 10 AM | 505 | | 11 AM | 600 | +-------+-------------+
Butuh alat pelaporan untuk MySQL? Ubiq memudahkan untuk memvisualisasikan data dalam hitungan menit, dan memantau di dasbor waktu nyata. Cobalah Hari ini!