Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak obliczyć depozyt zabezpieczający w MySQL

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ś!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyjątek:istnieje już otwarty DataReader powiązany z tym połączeniem, który należy najpierw zamknąć

  2. Mysql::Błąd:Podany klucz był za długi; maksymalna długość klucza to 1000 bajtów

  3. Czy w MySQL można mieć widok indeksowany?

  4. Wybór pływaka w MySQL

  5. Wyniki MySQL jako lista oddzielona przecinkami