Ważne jest, aby obliczyć zysk dla każdej firmy. Jeśli Twoja witryna lub sklep internetowy działa na MySQL, możesz łatwo obliczyć marżę w MySQL. W tym artykule przyjrzymy się, jak obliczyć marżę w MySQL, obliczyć marżę dla każdego produktu, a także obliczyć marżę dzienną.
Jak obliczyć depozyt zabezpieczający w MySQL
Załóżmy, że masz dwie tabele zakupów (identyfikator_zamówienia, identyfikator_produktu, ilość, cena_kosztu, data_zamówienia ) i sprzedaż(id_zamówienia, identyfikator_produktu, ilość, cena_sprzedaży, data_zamówienia) które zawierają szczegółowe informacje o zakupie i sprzedaży każdego produktu.
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 |
+----------+------------+----------+---------------+------------+
Użyjemy tych tabel do obliczenia marży w MySQL. Oto wzór na depozyt zabezpieczający.
marża zysku =(ilość sprzedana*cena sprzedaży – ilość zakupiona*cena kosztu )/ilość sprzedana*cena sprzedaży
Gdy otrzymamy całkowitą sprzedaż i całkowity koszt, możesz zmodyfikować powyższą formułę zgodnie z wymaganiami, aby obliczyć marżę brutto, marżę netto itp.
Oblicz całkowity margines w MySQL
Oto zapytanie SQL do obliczenia całkowitej marży zysku.
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 |
+--------------+ Przyjrzyjmy się szczegółowo powyższemu zapytaniu.
Całkowity koszt i całkowitą sprzedaż obliczamy oddzielnie za pomocą podzapytań
select sum(quantity*cost_price) as total_cost from purchases
i
select sum(quantity*selling_price) as total_sales from sales
a następnie użyj wyników tych podzapytań do obliczenia całkowitej marży zysku.
Przeczytaj bonus:Jak uzyskać wiele zliczeń w MySQL
Oblicz marżę produktu w MySQL
Oto zapytanie SQL do obliczenia marży zysku dla każdego produktu.
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 |
+------------+--------------+ W powyższym zapytaniu używamy następujących dwóch podzapytań, aby osobno obliczyć sprzedaż i koszt dla każdego produktu.
select product_id,sum(quantity*cost_price) as total_cost from purchases group by product_id
i
select product_id,sum(quantity*selling_price) as total_sales from sales group by product_id
Następnie łączymy wyniki tych dwóch podzapytań na podstawie product_id kolumna, aby obliczyć całkowitą marżę zysku dla każdego produktu.
Oblicz dzienny margines w MySQL
Podobnie możesz obliczyć dzienną marżę zysku za pomocą następującego zapytania SQL.
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 |
+------------+--------------+ W powyższym zapytaniu używamy następujących dwóch podzapytań, aby osobno obliczyć sprzedaż i koszt dla każdego dnia.
select date(order_date) as order_date,sum(quantity*cost_price) as total_cost from purchases group by date(order_date)
i
select date(order_date) as order_date,sum(quantity*selling_price) as total_sales from sales group by date(order_date)
Następnie łączymy wyniki tych dwóch podzapytań na podstawie data_zamówienia kolumna, aby obliczyć całkowity margines na każdy dzień.
Oblicz depozyt zabezpieczający w Ubiq
Narzędzie Ubiq Reporting obsługuje wszystkie powyższe zapytania SQL i ułatwia wizualizację wyników SQL na różne sposoby. Umożliwia także tworzenie kokpitów i wykresów z danych MySQL. Oto zapytanie SQL do codziennego obliczania marży w Ubiq.
W rzeczywistości po uruchomieniu zapytania wystarczy kliknąć typ wizualizacji, aby wykreślić wynik na wykresie.
Potrzebujesz narzędzia do raportowania dla MySQL? Ubiq ułatwia wizualizację danych w ciągu kilku minut i monitorowanie w pulpitach nawigacyjnych w czasie rzeczywistym. Wypróbuj już dziś!