Jump to content
BGSJunior

Não consigo somar valores

Recommended Posts

Olá!

Tenho uma tabela com os campos id, servico e valor. Preciso somar os valores contidos nos campos 'valor' de acordo com os filtros aplicados. Veja:

 

SELECT *, SUM(valor) AS totalValores
FROM financeiro_entrada 
WHERE servico LIKE "%suporte%"

 

Acima quero mostrar todos os serviços do tipo "suporte" e o campo 'totalValores' com o total dos serviços em cada registro encontrado. Assim:

 

1.jpg.aa9dc79c6fa6457f0ef9ee464e3a8e4b.jpg

 

Qual SQL devo criar para mostrar os registros acima? O SQL que fiz mostra apenas um registro. Assim:

 

2.png.355d020104b590a44dc77e1a680077e2.png 

 

Preciso mostrar todos os registros que contenha 'suporte' como serviço. Assim: 

 

3.png.b8e3ffc62586aca8fcfd939bb8d8d9ac.png

Share this post


Link to post
Share on other sites

Para obter melhor resultado com o MySQL é preciso seguir algumas regras. Cada coluna deve representar um tipo de informação, não pode haver ambiguidade. O primeiro registro do seu exemplo diz que o valor do serviço é 25 e o totalvalores é 125, e assim o MySQL não é capaz de responder à questão: afinal quanto custa o serviço?

 

Cada serviço deve ter um identificador próprio, e no seu exemplo existem vários serviços de suporte com o id=12, e assim o MySQL não é capaz de responder o que exatamente foi feito no serviço já que existem três identificadores iguais.

 

Ou seja, o seu problema é montar uma tabela. Sem isso, o MySQL não é capaz de responder nada.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By thiago_tw
      eu to com uma tarefa que preciso de ajuda, já tentei alguns algoritmos que achei por aqui mas nunca dá certo, mandei a imagem do que é para ser feito, agradecido se me ajudarem

    • By eliasfarias
      Preciso pegar um resultado de uma soma a partir de uma variável predefinida antes.
      ex: 
      $valor=500
      $consulta = $pdo->query("SELECT* FROM produtos where  status_pago='0' ");
      while ($resultado = $consulta ->fetch(PDO::FETCH_ASSOC)) {
       
      //listar um número de linhas cuja soma de todos os produtos juntos fosse igual a variável $valor
       
      }
      Se alguém puder me dar uma luz agradeço,
      Obrigado.
    • By marlone
      Preciso fazer uma consulta no banco onde eu pego total gasto por CPF, somando cada row que for do mesmo CPF por exemplo:
       
       
      Cpf    ctro    vlr               vlrtotal
      158   166     1000         5000
      158   156     1000         5000
      158   1644   3000        5000
       
      159   168     2000         6000
      159   154     2000         6000
      159   111     2000         6000
       
      É possível?
    • By Hashira do Vento
      O exercício pede o que eu faça um código com uma matriz, onde eu peça uma linha qualquer ao usuário, e nela será feito a soma ou média dos elementos contidos.
      O problema é na hora da decisão do usuário na hora de escolher entre média ou soma, escrevendo a letra inicial de uma dessa palavras em maiúsculo. O "If" simplesmente não funciona, e eu acho que seja essa minha dificuldade, pois quando tirei o if, a soma funcionou normalmente (com o código atual a soma fica igual a zero no printf final). E sim, eu pesquisei a fundo sobre o tipo char, mas mesmo assim não consegui resposta alguma para a solução do meu problema :/
      Segue o código:
      Obs: Claramente, o meu código não está terminado (ainda falta pôr a parte da média), a partir do momento em que eu solucionar esse problema principal, creio que conseguirei finalizá-lo sem mais contratempos.
       
      #include <stdio.h> #include <stdlib.h> #include <locale> int main (void){ setlocale (LC_ALL, "Portuguese"); float M [2][2], media; int lin, x, soma1, soma2; char op[5]; printf ("Preencha a matriz: \n"); for (int l = 0; l<2; l++) { //linha for (int c = 0; c<2; c++ ) { //coluna scanf ("%f", &M[l][c]); } } printf ("Que operação você quer? S ou M?\n"); //Entrada do char, escolha da operação scanf ("%s", op); printf ("Em qual linha da matriz a operação deve ser realizada?\n"); scanf ("%d", &x); for (int l = x; l==x; l++) { for (int c = 0; c<2; c++ ){ printf ("%f \n", M[l][c]);//só mostrando os numeros da linha (ignore) if (op=="S") //tenho quase certeza que o problema se encontra aqui soma1= M[l][c]+soma1; } } printf ("O resultado da soma deu %d", soma1); //e na hora de mostrar a soma, ela sempre aparece como zero }
    • By gcmapigotto
      Pessoal, tudo bem?
       
      Eu sou designer, sou leigo em PHP e programação em si, meu forte é HTML, CSS etc.
       
      Gostaria de verificar se alguém tem algum modelo simples de uma programação em PHP que diariamente, por exemplo, some um valor a um número especificado, que salve isso em TXT e substitua um número no HTML.
       
      Por exemplo, eu gostaria de lançar o site no ar com um número 6000. Daí no outro dia, automaticamente, quero que apresente o número 6010 até quando chegar no ano de 2020 ele chegue no total de 7000 sozinho. Ou seja, que ele vá somando 10 + 10 por dia.
       
      Alguém teria algo para me ajudar? Eu pesquisei em vários sites, mas são códigos com finalidades diferentes.
       
      Muito obrigado.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.