Terkadang Anda mungkin perlu mengumpulkan data berdasarkan bulan di MySQL. Pada artikel ini, kita akan melihat berbagai cara untuk mengelompokkan berdasarkan bulan di MySQL.
Cara Mengelompokkan Berdasarkan Bulan di MySQL
Kami akan menggunakan format_tanggal berfungsi untuk memformat tanggal menjadi nilai bulan dan mengelompokkan berdasarkan bulan.
Berikut adalah sintaks fungsi date_format.
date_format(nilai, format string)
Dalam fungsi di atas, Anda perlu menentukan nilai sebagai literal, fungsi lain atau nama kolom, dan string format yang menentukan format ke mana nilai ini perlu dikonversi.
Berikut adalah contoh untuk mengubah string tanggal menjadi bulan.
mysql> SELECT DATE_FORMAT("2020-06-15", "%M");+--------------------------- ------+| TANGGAL_FORMAT("15-06-2020", "%M") |+--------------------------------- +| Juni |+---------------------------------+
Katakanlah Anda memiliki tabel penjualan(id, tanggal_pesanan, jumlah)
mysql> buat tabel penjualan(id int, tanggal_pesanan, jumlah int);mysql> masukkan ke dalam nilai penjualan(id,tanggal_pesanan,jumlah) (1,'2020-10-01',150), (2,' 2020-10-10',100), (3,'2020-11-05',250), (4,'2020-11-15',150), (5,'2020-12-01',350 ), (6,'2020-12-21',250);mysql> pilih * dari penjualan;+------+------------+------ --+| id | tanggal_pesanan | jumlah |+------+------------+--------+| 1 | 01-10-2020 | 150 || 2 | 10-10-2020 | 100 || 3 | 05-11-2020 | 250 || 4 | 2020-11-15 | 150 || 5 | 2020-12-01 | 350 || 6 | 2020-12-21 | 250 |+------+------------+--------+
Baca Juga :Cara Menghapus Batasan NOT NULL di MySQL
Kelompokkan Berdasarkan Nama Bulan
Berikut adalah kueri SQL untuk dikelompokkan berdasarkan nama bulan.
mysql> pilih format_tanggal(tanggal_pesanan, '%M'),jumlah(jumlah) dari grup penjualan menurut format_tanggal(tanggal_pesanan, '%M');+--------------- -----+-------------+| format_tanggal(tanggal_pesanan, '%M') | jumlah(jumlah) |+-------------------------------+------------ -+| Desember | 600 || November | 400 || Oktober | 250 |+-------------------------------+-------------+Dalam kueri SQL di atas kami menggunakan date_format(order_date, “%M”) untuk mengonversi kolom tanggal menjadi nama bulan, dan gunakan jumlah kolom untuk menjumlahkan jumlah penjualan.
Kelompokkan Berdasarkan Bulan dan Tahun
Berikut adalah kueri SQL untuk dikelompokkan berdasarkan bulan dan tahun.
mysql> pilih format_tanggal(tanggal_pesanan, '%M %Y'),jumlah(jumlah) dari grup penjualan menurut tahun(tanggal_pesanan),bulan(tanggal_pesanan);+------------- ----------+------------+| format_tanggal(tanggal_pesanan, '%M %Y') | jumlah(jumlah) |+-----------------------------------+--------- ----+| Oktober 2020 | 250 || November 2020 | 400 || Desember 2020 | 600 |+----------------------------------+------------ -+Dalam kueri di atas, kami menggunakan format_tanggal untuk mengonversi nilai kolom tanggal menjadi nama bulan dan tahun. Kami juga menggunakan fungsi YEAR() dan MONTH() untuk memastikan bahwa data dikelompokkan dan diurutkan berdasarkan nomor bulan dan tahun.
Dalam query di atas, jika kita menggunakan date_format fungsi dalam grup demi klausa, maka MySQL akan mengurutkan grup berdasarkan abjad, bukan secara kronologis. Lihat di bawah.
mysql> pilih format_tanggal(tanggal_pesanan, '%M'),jumlah(jumlah) dari grup penjualan menurut format_tanggal(tanggal_pesanan, '%M');+--------------- -----+-------------+| format_tanggal(tanggal_pesanan, '%M') | jumlah(jumlah) |+-------------------------------+------------ -+| Desember | 600 || November | 400 || Oktober | 250 |+-------------------------------+-------------+Butuh alat pelaporan untuk MySQL? Ubiq memudahkan untuk memvisualisasikan data dalam hitungan menit, dan memantau di dasbor waktu nyata. Cobalah Hari ini!