Calculando a porcentagem em uma consulta MySQL e arredondando o resultado
Para isso, você pode usar CONCAT() e round(). Vamos primeiro criar uma tabela:
mysql> create table DemoTable1844
(
Number int,
TotalNumber int
);
Query OK, 0 rows affected (0.00 sec)
Insira alguns registros na tabela usando o comando insert:
mysql> insert into DemoTable1844 values(50,500);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1844 values(80,500);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1844 values(98,500);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1844 values(45,500);
Query OK, 1 row affected (0.00 sec)
Exiba todos os registros da tabela usando a instrução select:
mysql> select * from DemoTable1844;
Isso produzirá a seguinte saída:
+--------+-------------+
| Number | TotalNumber |
+--------+-------------+
| 50 | 500 |
| 80 | 500 |
| 98 | 500 |
| 45 | 500 |
+--------+-------------+
4 rows in set (0.00 sec)
Aqui está a consulta para calcular a porcentagem em uma consulta e arredondar o resultado:
mysql> select concat(round(((Number / TotalNumber) * 100 ),2), '%') as Result from DemoTable1844;
Isso produzirá a seguinte saída:
+--------+
| Result |
+--------+
| 10.00% |
| 16.00% |
| 19.60% |
| 9.00% |
+--------+
4 rows in set (0.00 sec)