Database
 sql >> Teknologi Basis Data >  >> RDS >> Database

SQL Query untuk Membandingkan Penjualan Produk Berdasarkan Bulan

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.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Software Database Terbaik untuk Developer (Edisi 2022)

  2. Cara Menghilangkan Baris Duplikat di SQL

  3. T-SQL Selasa #33 :Trick Shots :Skema Switch-A-Roo

  4. Bagaimana cara menjatuhkan kolom dalam SQL?

  5. Apa itu Basis Data Deret Waktu?