Sering kali, Anda perlu membandingkan penjualan produk berdasarkan bulan, secara berdampingan, untuk menentukan bagaimana kinerjanya. Berikut adalah kueri SQL untuk membandingkan penjualan produk menurut bulan, jika data Anda disimpan di database MySQL/PostgreSQL/SQL Server.
SQL Query untuk Membandingkan Penjualan Produk Berdasarkan Bulan
Katakanlah Anda memiliki tabel penjualan(tanggal_pesanan, produk, obral) yang berisi penjualan harian semua produk Anda.
mysql> create table sales(product varchar(255),order_date date,sale int); mysql> insert into sales values('Pen','2020-01-01',20),('Paper','2020-01-02',25), ('Paper','2020-01-03',15),('Pen','2020-01-04',30),('Paper','2020-01-05',20) ...; mysql> select * from sales; +---------+------------+------+ | product | order_date | sale | +---------+------------+------+ | Pen | 2020-01-01 | 20 | | Paper | 2020-01-02 | 25 | | Paper | 2020-01-03 | 15 | | Pen | 2020-01-04 | 30 | | Pen | 2020-01-05 | 20 | | ... | ... | ...| +---------+------------+------+
SQL Query untuk membandingkan penjualan produk menurut bulan
Dalam kebanyakan kasus, Anda akan memiliki baris penjualan untuk semua produk Anda satu di bawah yang lain, dalam baris terpisah, bukan kolom terpisah. Jika Anda ingin membandingkan penjualan produk menurut bulan, Anda perlu memutar data ini menurut produk kolom.
Berikut kueri untuk memutar tabel penjualan Anda menurut produk kolom. Kami akan melihatnya secara detail
mysql> SELECT date_format(order_date,'%b-%y') as order_date, sum(IF(product='Pen', sale, NULL)) AS Pen, sum(IF(product='Paper', sale, NULL)) AS Paper FROM sales GROUP BY year(order_date),month(order_date),date_format(order_date,'%b-%y') ; +------------+------+-------+ | order_date | Pen | Paper | +------------+------+-------+ | Jan-20 | 200 | 320 | | Feb-20 | 250 | 220 | | Mar-20 | 230 | 290 | | Apr-20 | 190 | 210 | | May-20 | 210 | 230 | | Jun-20 | 320 | 120 | | Jul-20 | 330 | 220 | | Aug-20 | 210 | 260 | | Sep-20 | 120 | 220 | | Oct-20 | 280 | 120 | | Nov-20 | 290 | 280 | | Dec-20 | 200 | 320 | +------------+------+-------+
Dalam kueri di atas, kami menggunakan fungsi DATE_FORMAT untuk mendapatkan nama bulan dari tanggal_pesanan kolom. Selanjutnya kami menggunakan pernyataan JIKA untuk membuat tabel pivot menurut produk kolom. Dalam hal ini, untuk setiap baris, pernyataan IF akan memeriksa nilai kolom produk dan menambahkan nilai jual ke kolom berlabel 'Pena' atau 'Kertas' tergantung pada nama produk. Kami juga mengelompokkan berdasarkan nama bulan, untuk mendapatkan penjualan produk bulanan, dari pesanan harian.
Setelah Anda menghitung penjualan bulanan per produk, Anda dapat menggunakan alat bagan untuk memplotnya pada bagan garis, seperti yang ditunjukkan di bawah ini. Berikut adalah contoh bagan garis yang dibuat menggunakan Ubiq.
Tahukah Anda bahwa Anda dapat membuat tabel pivot di Ubiq hanya dengan drag &drop?
Jika Anda ingin membuat grafik, dasbor &laporan dari database MySQL/PostgreSQL/SQL Server, Anda dapat mencoba Ubiq. Kami menawarkan uji coba gratis selama 14 hari.