Somar Registros de uma tabela.

07/12/2018

0

tenho uma tabela SQL e na coluna equipamentos tenho uma descrição "HD", é possivel eu contar quantos equipamentos "HD" tenho?? quem pode me ajudar??? Grato.
Leonardo

Leonardo

Responder

Post mais votado

07/12/2018

Tem sim. Se for somente esta condição, seria algo como:
select count(*)
from tabela
where descricao like '%HD%'

Emerson Nascimento

Emerson Nascimento
Responder

Mais Posts

07/12/2018

Leonardo

vou testar aqui e te falo Emerson, desde já sou grato pela ajuda.
Responder

07/12/2018

Leonardo

Emerson, não deu certo.. deixa eu ser mais claro na minha colocação, preciso fazer uma busca por login e através dele, trará o resultado de quantos equipamentos "HD´s" eu tenho, retornaria como valor 1...2....3.. sou grato mais uma vez..
Responder

07/12/2018

Leonardo

Emerson, este é o código..

if (empty($_POST['login'])) {"";}
if(isset($_POST['login'])) {"";
if($_POST['login'] == "") {"";} else{
$buscar = $_POST['login'];
$cmd = "SELECT SUM(equipamentos) FROM almoxarifado WHERE equipamentos = 'HD'";
$resultado = mysqli_query($conn, $cmd);

$row = mysqli_num_rows($resultado);

if($row == " ") {" ";} else{

while ($dados = mysqli_fetch_array($resultado)) {
$Equipamentos = $dados['equipamentos'];
}

}
}

}

não sei o que está dando de errado.... pode me ajudar..
Responder

07/12/2018

Emerson Nascimento

Leonardo, você fez totalmente diferente do que eu te passei.
Eu utilizei a função COUNT(), você utilizou SUM(); eu utilizei LIKE, você utilizou =
O campo equipamentos contém exatamente a sigla HD?

$cmd = "SELECT COUNT(equipamentos) FROM almoxarifado WHERE equipamentos LIKE '%HD%' ";

da forma como está acima o sistema irá contar quantos produtos têm HD como conteúdo do campo equipamento.
se a tua idéia é contar o saldo de produtos, então deve ser algo assim:

$cmd = "SELECT codproduto, SUM(quantidade) FROM almoxarifado WHERE equipamentos LIKE '%HD%' group by codproduto ";

count() - conta o número de registros
sum() - soma o conteúdo de um campo
Responder

10/12/2018

Leonardo

Emerson a idéia é esta mesmo contar o saldo de equipamentos em HD, pois irei fazer um controle de entrada e saida de acordo com cada 'login', ou seja, se o 'login' recebeu 5 HD´s no dia 10/12/2018 e no dia 10/12/2018 saiu 3 HD´s meu saldo deverá ser de 2 HD´s. compreende? mais uma vez grato pela ajuda e prestavididade.
Responder

10/12/2018

Emerson Nascimento

você conseguiu resolver?
se não conseguiu, publique a estrutura da tua tabela e alguns registros (somente os campos pertinentes).
Responder

10/12/2018

Leonardo

Não consegui..
segue a estrutura da tabela..

Estrutura da tabela

Nome Tipo Agrupamento (Collation) Atributos
1 id_almox Primária int(11) AUTO_INCREMENT
2 equipamentos varchar(15) utf8_general_ci
3 modelo varchar(15) utf8_general_ci
4 num_serie varchar(20) utf8_general_ci
5 entrada varchar(10) utf8_general_ci (Data)
6 saida varchar(10) utf8_general_ci (Data)
7 login Índice varchar(8) utf8_general_ci (Foreing Key)
8 baixa varchar(10) utf8_general_ci
9 contrato int(10)

Responder

10/12/2018

Emerson Nascimento

Com base nessa estrutura, deve ser algo assim:

select COUNT(equipamentos) from almoxarifado where rtrim(ltrim(coalesce(saida,'')))='' and login = 'login_desejado' and equipamentos like '%HD%'

Responder

10/12/2018

Leonardo

este é o código:

if (empty($_POST['login'])) {"";}
if(isset($_POST['login'])) {"";
if($_POST['login'] == "") {"";} else{
$buscar = $_POST['login'];
$cmd = "select COUNT(equipamentos) from almoxarifado where rtrim(ltrim(coalesce(saida,'')))='' and login = 'login_desejado' and equipamentos like '%HD%'";
$resultado = mysqli_query($conn, $cmd);

$row = mysqli_num_rows($resultado);

if($row == " ") {" ";} else{

while ($dados = mysqli_fetch_array($resultado)) {
$HD = $dados['equipamentos'];}

}
}

}

o resultado desta busca, deverá ser o saldo de quantidade de equipamentos HD´s. onde eu colocarei no campo "Value" de uma input para exibir este saldo..
estou usando PHP e MYSQL. grato.
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar