Важно е да се изчисли печалбата за всеки бизнес. Ако вашият уебсайт или онлайн магазин работи на MySQL, тогава можете лесно да изчислите марж в MySQL. В тази статия ще разгледаме как да изчислим маржа в MySQL, да изчислим маржа за всеки продукт и също да изчислим дневния марж.
Как да изчислим маржа в MySQL
Да кажем, че имате две таблици покупки (идентификатор на поръчката, идентификатор на продукт, количество, цена_разход, дата_на_поръчка ) и продажби(идентификатор на поръчката, идентификатор на продукт, количество, продажна_цена, дата_на_поръчка) които съдържат подробности за информацията за покупка и продажба на всеки продукт.
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 | +----------+------------+----------+---------------+------------+
Ще използваме тези таблици за изчисляване на марж в MySQL. Ето формулата за марж.
марж на печалба =(продадено количество*продажна цена – закупено количество*себестойност )/продадено количество*продажна цена
След като получим общите продажби и общите разходи, можете да промените горната формула според вашето изискване за изчисляване на брутния марж, нетния марж и т.н.
Изчислете общия марж в MySQL
Ето SQL заявката за изчисляване на общия марж на печалба.
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 | +--------------+
Нека разгледаме по-подробно горната заявка.
Ние изчисляваме общите разходи и общите продажби отделно, като използваме подзаявки
select sum(quantity*cost_price) as total_cost from purchases
и
select sum(quantity*selling_price) as total_sales from sales
и след това използвайте резултата от тези подзаявки, за да изчислите общия марж на печалба.
Бонус за четене:Как да получите няколко броя в MySQL
Изчислете маржа на продукта в MySQL
Ето SQL заявката за изчисляване на маржа на печалба за всеки продукт.
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 | +------------+--------------+
В горната заявка използваме следните две подзаявки, за да изчислим отделно продажбите и разходите за всеки продукт.
select product_id,sum(quantity*cost_price) as total_cost from purchases group by product_id
и
select product_id,sum(quantity*selling_price) as total_sales from sales group by product_id
След това свързваме резултата от тези две подзаявки въз основа на product_id колона за изчисляване на общия марж на печалба за всеки продукт.
Изчислете дневния марж в MySQL
По същия начин можете да изчислите дневния марж на печалба, като използвате следната 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 | +------------+--------------+
В горната заявка използваме следните две подзаявки, за да изчислим отделно продажбите и разходите за всеки ден.
select date(order_date) as order_date,sum(quantity*cost_price) as total_cost from purchases group by date(order_date)
и
select date(order_date) as order_date,sum(quantity*selling_price) as total_sales from sales group by date(order_date)
След това свързваме резултата от тези две подзаявки въз основа на order_date колона за изчисляване на общия марж за всеки ден.
Изчислете маржа в Ubiq
Инструментът за отчитане на Ubiq поддържа всички горепосочени SQL заявки и улеснява визуализирането на SQL резултатите по различни начини. Той също така ви позволява да създавате табла за управление и диаграми от MySQL данни. Ето SQL заявката за ежедневно изчисляване на маржа в Ubiq.
Всъщност, след като изпълните заявката, можете просто да щракнете върху тип визуализация, за да начертаете резултата в диаграма.
Нуждаете се от инструмент за отчитане за MySQL? Ubiq улеснява визуализирането на данни за минути и наблюдение в табла за управление в реално време. Опитайте го днес!