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

Cara Menghitung Margin Di MySQL

Penting untuk menghitung keuntungan untuk setiap bisnis. Jika situs web atau toko online Anda menggunakan MySQL, maka Anda dapat dengan mudah menghitung margin di MySQL. Pada artikel ini, kita akan melihat bagaimana cara menghitung margin di MySQL, menghitung margin untuk setiap produk dan juga menghitung margin harian.


Cara Menghitung Margin Di MySQL

Katakanlah Anda memiliki dua tabel pembelian(order_id, product_id, quantity, cost_price, order_date ) dan penjualan(id_pesanan, id_produk, kuantitas, harga_jual, tanggal_pesanan) yang berisi detail informasi pembelian dan penjualan setiap produk.

mysql> create table purchases(order_id int, 
            product_id int, 
            quantity int, 
            cost_price int, 
            order_date date);

mysql> insert into purchases(order_id, product_id,
      quantity, cost_price, order_date)
      values(1,101,10,30,'2021-01-01'),
      (2,102,15,50,'2021-01-02'),
      (3,101,30,80,'2021-01-03'),
      (4,103,20,35,'2021-01-04'),
      (5,105,10,50,'2021-01-05'),
      (6,104,17,40,'2021-01-06'),
      (7,101,30,45,'2021-01-07'),
      (8,102,60,60,'2021-01-08'),
      (9,110,19,70,'2021-01-09'),
      (10,108,20,80,'2021-01-10');

mysql> select * from purchases;
 +----------+------------+----------+------------+------------+
 | order_id | product_id | quantity | cost_price | order_date |
 +----------+------------+----------+------------+------------+
 |        1 |        101 |       10 |         30 | 2021-01-01 |
 |        2 |        102 |       15 |         50 | 2021-01-02 |
 |        3 |        101 |       30 |         80 | 2021-01-03 |
 |        4 |        103 |       20 |         35 | 2021-01-04 |
 |        5 |        105 |       10 |         50 | 2021-01-05 |
 |        6 |        104 |       17 |         40 | 2021-01-06 |
 |        7 |        101 |       30 |         45 | 2021-01-07 |
 |        8 |        102 |       60 |         60 | 2021-01-08 |
 |        9 |        110 |       19 |         70 | 2021-01-09 |
 |       10 |        108 |       20 |         80 | 2021-01-10 |
 +----------+------------+----------+------------+------------+

mysql> create table sales(order_id int, 
        product_id int, 
        quantity int, 
        selling_price int, 
        order_date date);

mysql> insert into sales(order_id, product_id, 
       quantity, selling_price, order_date)
       values(1,101,8,70,'2021-01-01'),
       (2,102,10,150,'2021-01-02'),
       (3,101,25,280,'2021-01-03'),
       (4,103,20,135,'2021-01-04'),
       (5,105,10,350,'2021-01-05'),
       (6,104,15,140,'2021-01-06'),
       (7,101,20,65,'2021-01-07'),
       (8,102,50,160,'2021-01-08'),
       (9,110,15,120,'2021-01-09'),
       (10,108,15,180,'2021-01-10');

mysql> select * from sales;
+----------+------------+----------+---------------+------------+
| order_id | product_id | quantity | selling_price | order_date |
+----------+------------+----------+---------------+------------+
|        1 |        101 |        8 |            70 | 2021-01-01 |
|        2 |        102 |       10 |           150 | 2021-01-02 |
|        3 |        101 |       25 |           280 | 2021-01-03 |
|        4 |        103 |       20 |           135 | 2021-01-04 |
|        5 |        105 |       10 |           350 | 2021-01-05 |
|        6 |        104 |       15 |           140 | 2021-01-06 |
|        7 |        101 |       20 |            65 | 2021-01-07 |
|        8 |        102 |       50 |           160 | 2021-01-08 |
|        9 |        110 |       15 |           120 | 2021-01-09 |
|       10 |        108 |       15 |           180 | 2021-01-10 |
+----------+------------+----------+---------------+------------+

Kami akan menggunakan tabel ini untuk menghitung margin di MySQL. Berikut adalah rumus marginnya.

margin keuntungan =(jumlah yang dijual*harga jual – jumlah yang dibeli*harga pokok )/jumlah terjual*harga jual

Setelah kami mendapatkan total penjualan dan total biaya, Anda dapat memodifikasi rumus di atas sesuai kebutuhan Anda untuk menghitung margin kotor, margin bersih, dll.


Hitung Total Margin di MySQL

Berikut adalah query SQL untuk menghitung total profit margin.

mysql> select (total_sales-total_cost)*100/total_sales as total_margin 
      from
      (select sum(quantity*cost_price) as total_cost 
         from purchases) as total_purchases,
      (select sum(quantity*selling_price) as total_sales 
         from sales) as total_sales;
 +--------------+
 | total_margin |
 +--------------+
 |      57.6059 |
 +--------------+

Mari kita lihat pertanyaan di atas secara detail.

Kami menghitung total biaya dan total penjualan secara terpisah menggunakan subkueri

select sum(quantity*cost_price) as total_cost from purchases

dan

select sum(quantity*selling_price) as total_sales from sales

lalu gunakan hasil subkueri ini untuk menghitung total margin keuntungan.

Bonus baca :Cara Mendapatkan Banyak Hitungan di MySQL


Menghitung margin produk di MySQL

Berikut adalah query SQL untuk menghitung margin keuntungan untuk setiap produk.

mysql> select total_purchases.product_id,
      (total_sales-total_cost)*100/total_sales as total_margin 
      from
      (select product_id,sum(quantity*cost_price) as total_cost          
          from purchases 
          group by product_id) as total_purchases,
      (select product_id,sum(quantity*selling_price) as total_sales 
          from sales 
          group by product_id) as total_sales 
          where total_purchases.product_id=total_sales.product_id;
 +------------+--------------+
 | product_id | total_margin |
 +------------+--------------+
 |        101 |      54.2889 |
 |        102 |      54.2105 |
 |        103 |      74.0741 |
 |        104 |      67.6190 |
 |        105 |      85.7143 |
 |        108 |      40.7407 |
 |        110 |      26.1111 |
 +------------+--------------+

Dalam kueri di atas, kami menggunakan dua subkueri berikut untuk menghitung penjualan dan biaya secara terpisah untuk setiap produk.

select product_id,sum(quantity*cost_price) as total_cost          
   from purchases group by product_id

dan

select product_id,sum(quantity*selling_price) as total_sales 
   from sales group by product_id

Kemudian kita gabungkan hasil dari dua subquery ini berdasarkan product_id kolom untuk menghitung total margin keuntungan untuk setiap produk.


Menghitung margin harian di MySQL

Demikian pula, Anda dapat menghitung margin keuntungan harian menggunakan kueri SQL berikut.

mysql> select total_purchases.order_date,(total_sales-total_cost)*100/total_sales as total_margin 
     from
      (select date(order_date) as order_date,
        sum(quantity*cost_price) as total_cost 
        from purchases group by date(order_date)
      ) as total_purchases,   
      (select date(order_date) as order_date,
        sum(quantity*selling_price) as total_sales 
        from sales group by date(order_date)
      ) as total_sales 
    where total_purchases.order_date=total_sales.order_date;
 +------------+--------------+
 | order_date | total_margin |
 +------------+--------------+
 | 2021-01-01 |      46.4286 |
 | 2021-01-02 |      50.0000 |
 | 2021-01-03 |      65.7143 |
 | 2021-01-04 |      74.0741 |
 | 2021-01-05 |      85.7143 |
 | 2021-01-06 |      67.6190 |
 | 2021-01-07 |      -3.8462 |
 | 2021-01-08 |      55.0000 |
 | 2021-01-09 |      26.1111 |
 | 2021-01-10 |      40.7407 |
 +------------+--------------+

Dalam kueri di atas, kami menggunakan dua subkueri berikut untuk menghitung penjualan dan biaya secara terpisah untuk setiap hari.

select date(order_date) as order_date,sum(quantity*cost_price) as total_cost 
from purchases group by date(order_date)

dan

select date(order_date) as order_date,sum(quantity*selling_price) as total_sales 
from sales group by date(order_date)

Kemudian kita gabungkan hasil dari kedua subquery ini berdasarkan order_date kolom untuk menghitung total margin untuk setiap hari.


Menghitung Margin di Ubiq

Alat Pelaporan Ubiq mendukung semua kueri SQL di atas dan memudahkan untuk memvisualisasikan hasil SQL dengan cara yang berbeda. Ini juga memungkinkan Anda membuat dasbor &bagan dari data MySQL. Berikut adalah query SQL untuk menghitung margin harian di Ubiq.

Bahkan, setelah Anda menjalankan kueri, Anda cukup mengeklik jenis visualisasi untuk memplot hasilnya dalam bagan.

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. LINQ untuk alat Java

  2. Duplikat, Salin, atau Cadangkan Tabel di MySQL, MariaDB, Oracle, PostgreSQL, DB2 dan SQLite dengan Create Table As SQL

  3. Cara Menjalankan Prosedur Tersimpan Di MySQL Workbench

  4. Alternatif pt-query-digest - Manajemen &Pemantauan Kueri MySQL dengan ClusterControl

  5. Bagaimana cara kerja indeks MySQL?