Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara Mendapatkan Data Setiap Jam di MySQL

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!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Koneksi terputus ke server MySQL saat 'membaca paket komunikasi awal', kesalahan sistem:0

  2. Apakah ada perbedaan kinerja NYATA antara kunci utama INT dan VARCHAR?

  3. Menggunakan Python dan MySQL dalam Proses ETL:Menggunakan Python dan SQLAlchemy

  4. Kutipan Tunggal MySQL, Kutipan Ganda, Kutipan Kembali Dijelaskan Penggunaannya

  5. MySQL - Jadikan Bidang yang Ada Unik