https://www.simplilearn.com/ice9/free_resources_article_thumb/PHP_1.png

Neste tutorial vamos mostrar como calcular a soma e a média dos valores de uma tabela MySQL utilizando o PHP.

MySQL é um sistema de gerenciamento de banco de dados, que utiliza a linguagem SQL como interface. É atualmente um dos sistemas de gerenciamento de bancos de dados mais populares, com mais de 10 milhões de instalações pelo mundo. Wikipédia

Considerando uma tabela de um banco de dados MySQL, podemos obter a soma dos valores de uma coluna através da função SUM e o número total de registros através da função count() para as extensões PDO e MySQLi.  Como exemplo, vamos utilizar a tabela MySQL filmes_votos abaixo, onde queremos calcular os valores da coluna nota para os registros com id_filme = 1 :

 Exemplo 1 - Cálculo da soma dos valores de uma coluna de uma tabela SQL

1.1. Para somar os valores de uma tabela utilizamos a função SQL SUM().

$sql = "SELECT SUM(nome_coluna) as nome_variavel FROM nome_tabela WHERE nome_coluna = valor";

1.2. Nos códigos dos exemplos abaixo vamos calcular a soma dos valores da coluna nota referentes aos registros id_filme = 1 da tabela filmes_votos. Vamos utilizar como exemplo as extensões PDO e MySqli como interfaces do banco de dados MySQL.

Com extensão PDO (statment)

<?php
require 'config.php'; // conexão com o banco de dados

echo '<h2>Exemplo 1 - Soma dos valores de um coluna</h2>';
$id_filme = 1;
$sql = "SELECT SUM(nota) as soma FROM filmes_votos WHERE id_filme = :id_film";
$sql = $con->prepare($sql);
$sql->bindValue(':id_film',$id_filme);
$sql->execute();
$row = $sql->fetch(); 
$soma = $row['soma'];

echo 'A soma das notas do filme [id_filme ('.$id_filme.')] é: '.$soma;

Com extensão MySQLi

<?php
require 'config.php'; // conexão com o banco de dados

echo '<h2>CÁLCULO DA MÉDIA DE VALORES DE UMA COLUNA SQL</h2>';

echo '<h2>Exemplo 1 - Soma dos valores de um coluna</h2>';
$id_filme = 1;
$sql = "SELECT SUM(nota) as soma FROM filmes_votos WHERE id_filme = $id_filme";
$sql = $con->query($sql);
$row = $sql->fetch_assoc();
$soma = $row['soma'];

echo 'A soma das notas do filme [id_filme ('.$id_filme.')] é: '.$soma;

Exemplo 2 - Cálculo do número de registros

2.1. Para contarmos os registros de uma tabela utilizamos a função SQL COUNT(*).

$sql = "SELECT COUNT(*) as nome_variavel FROM nome_tabela WHERE nome_coluna = valor";

2.2. Nos exemplos abaixo vamos calcular a quantidade de registros id_filme = 1. Vamos utilizar como exemplo as extensões PDO e MySqli como interfaces do banco de dados MySQL.

Com extensão PDO (statment)

<?php
require 'config.php'; // conexão com o banco de dados

echo '<h2>Exemplo 2 - Conta os registros de uma coluna</h2>';
$id_filme = 1;
$sql = "SELECT COUNT(*) as quantidade FROM filmes_votos WHERE id_filme = ?";
$sql = $con->prepare($sql);
$sql->execute(array($id_filme));
$row = $sql->fetch(); 
$soma = $row['quantidade'];

echo 'A quantidade de notas para do filme [id_filme ('.$id_filme.')] é: '.$soma;

 Com extensão MySQLi

<?php
require 'config.php'; // conexão com o banco de dados

echo '<h2>Exemplo 2 - Conta os registros de uma coluna</h2>';
$id_filme = 1;
$sql = "SELECT COUNT(*) as quantidade FROM filmes_votos WHERE id_filme = $id_filme";
$sql = $con->query($sql);;
$row = $sql->fetch_assoc();
$soma = $row['quantidade'];

echo 'A quantidade de notas para do filme [id_filme ('.$id_filme.')] é: '.$soma;

Exemplo 3 - Cálculo da média dos valores de uma coluna

3.1. Para calcularmos a média dos valores de uma coluna utilizamos a soma dos valores da coluna dividido pelo número dos registros, ou seja, SUM()/COUNT(*).

$sql = "SELECT (SUM(nome_coluna)/COUNT(*)) as nome_variavel FROM nome_tabela WHERE nome_coluna = valor";

3.2. Nos exemplos abaixo vamos calcular a quantidade de registros id_filme = 1. Vamos utilizar como exemplo as extensões PDO e MySqli como interfaces do banco de dados MySQL.

Com extensão PDO (statment)

<?php
require 'config.php'; // conexão com o banco de dados

echo '<h2>Exemplo 3 - Cálculo da média dos valores de uma coluna</h2>';
$id_filme = 1;
$sql = "SELECT (SUM(nota)/COUNT(*)) as media FROM filmes_votos WHERE id_filme = ?";
$sql = $con->prepare($sql);
$sql->execute(array($id_filme));
$row = $sql->fetch(); 
$media = $row['media'];

echo 'A média das notas do [filme id_filme ('.$id_filme.')] é: '.$media;

 Com extensão MySQLi

<?php
require 'config.php'; // conexão com o banco de dados

echo '<h2>Exemplo 3 - Cálculo da média dos valores de uma coluna</h2>';
$id_filme = 1;
$sql = "SELECT (SUM(nota)/COUNT(*)) as media FROM filmes_votos WHERE id_filme = $id_filme";
$sql = $con->query($sql);
$row = $sql->fetch_assoc();
$media = $row['media'];

echo 'A média das notas do [filme id_filme ('.$id_filme.')] é: '.$media;

Veja abaixo o resultado dos nossos exemplos:

Documentação Oficial

1. [Extensão PDO] » Manual sobre PDO - PHP Data Objects.

2. [Extensão MySQLi] » Manual sobre a extensão MySQLi.

Nota: Para saber mais sobre as diferenças entre as extensões PDO e MySQLi veja Diferenças – MySQLi versus PDO versus MySQL.

O anúncio abaixo ajuda manter o Portal Visual Dicas

Compartilhe:

Área do Usuário

Doações

Por favor, ajude o nosso site a se manter online :)

 Obrigado!
Angelo Luis Ferreira
angelo.alf@gmail.com

Produzido por:

Topo