Понякога може да се наложи просто да изчислите процент от две колони в MySQL бази данни. Ето как лесно да изчислите процента на две колони в MySQL.
Как да изчислим процента от две колони в MySQL
Ето SQL за изчисляване на процента на две колони в MySQL. Да приемем, че имате следната таблица – sales(sales_rep,sale,goal)
mysql> create table sales(sales_rep varchar(255),sale int, goal int); mysql> insert into sales(sales_rep,sale,goal) values('Albert',10,20),('Bob',23,33),('Chris',20,25),('Dave',35,40); mysql> select * from sales; +-----------+------+------+ | sales_rep | sale | goal | +-----------+------+------+ | Albert | 10 | 20 | | Bob | 23 | 33 | | Chris | 20 | 25 | | Dave | 35 | 40 | +-----------+------+------+
Да приемем, че искате да изчислите attainment_percent като продажба/цел*100 за всеки търговски представител.
Ето SQL заявката за изчисляване на процента от две колони (продажба, цел). Можете директно да го изчислите в движение, като използвате операторите за деление и умножение, както е показано по-долу.
mysql> select sales_rep,sale,goal, (sale/goal)*100 as attainment_percent from sales; +-----------+------+------+--------------------+ | sales_rep | sale | goal | attainment_percent | +-----------+------+------+--------------------+ | Albert | 10 | 20 | 50.0000 | | Bob | 23 | 33 | 69.6970 | | Chris | 20 | 25 | 80.0000 | | Dave | 35 | 40 | 87.5000 | +-----------+------+------+--------------------+
Бонус за четене: Как да автоматизирате запитванията за обобщена таблица в MySQL
Ако искате да закръглите процентните числа до 2 знака след десетичната запетая, можете да използвате функцията ROUND, както е показано
mysql> select sales_rep,sale,goal, round((sale/goal)*100,2) as attainment_percent from sales; +-----------+------+------+--------------------+ | sales_rep | sale | goal | attainment_percent | +-----------+------+------+--------------------+ | Albert | 10 | 20 | 50.00 | | Bob | 23 | 33 | 69.70 | | Chris | 20 | 25 | 80.00 | | Dave | 35 | 40 | 87.50 | +-----------+------+------+--------------------+
Ако искате да изчислите процента на две колони само за конкретни редове, добавете клауза WHERE, както е показано по-долу с удебелен шрифт
mysql> select sales_rep,sale,goal ,round((sale/goal)*100,2) as attainment_percent from sales where sales_rep in ('Bob','Dave'); +-----------+------+------+--------------------+ | sales_rep | sale | goal | attainment_percent | +-----------+------+------+--------------------+ | Bob | 23 | 33 | 69.70 | | Dave | 35 | 40 | 87.50 | +-----------+------+------+--------------------+
Бонус за четене: Как да изчислим пълзящата средна в MySQL
Ако общите ви данни са разпределени в няколко колони, както е показано по-долу,
mysql> create table sales(sales_rep varchar(255),sale int, sale2 int,sale3 int); mysql> insert into sales(sales_rep,sale,sale2,sale3) values('Albert',10,20,10),('Bob',23,33,20), ('Chris',20,25,15),('Dave',35,40,20); mysql> select * from sales; +-----------+------+-------+-------+ | sales_rep | sale | sale2 | sale3 | +-----------+------+-------+-------+ | Albert | 10 | 20 | 10 | | Bob | 23 | 33 | 20 | | Chris | 20 | 25 | 15 | | Dave | 35 | 40 | 20 | +-----------+------+-------+-------+
след това можете да изчислите процента на всяка колона, като сумирате стойностите им в движение, както е показано по-долу.
mysql> select sales_rep,sale, sale2,sale3, (sale/(sale+sale2+sale3))*100 as sale_pct, (sale2/(sale+sale2+sale3))*100 as sale2_pct, (sale3/(sale+sale2+sale3))*100 as sale3_pct from sales; +-----------+------+-------+-------+----------+-----------+-----------+ | sales_rep | sale | sale2 | sale3 | sale_pct | sale2_pct | sale3_pct | +-----------+------+-------+-------+----------+-----------+-----------+ | Albert | 10 | 20 | 10 | 25.0000 | 50.0000 | 25.0000 | | Bob | 23 | 33 | 20 | 30.2632 | 43.4211 | 26.3158 | | Chris | 20 | 25 | 15 | 33.3333 | 41.6667 | 25.0000 | | Dave | 35 | 40 | 20 | 36.8421 | 42.1053 | 21.0526 | +-----------+------+-------+-------+----------+-----------+-----------+
Можете да персонализирате заявката по-горе, за да изчислите процента на две колони, според вашето изискване.
Можете също да използвате инструмент за отчитане, за да начертаете тези данни в таблица или табло и да ги споделите с вашия екип. Ето пример за таблица с горните данни, създадена с Ubiq.
Ако искате да създавате диаграми, табла за управление и отчети от MySQL база данни, можете да опитате Ubiq. Предлагаме 14-дневен безплатен пробен период.