Ir para conteúdo

Pergunta

Boa noite, estou com uma dúvida que não consigo resolver. No meu sistema tenho os produtos e os valores cadastrados pelo funcionário. Como por exemplo meu bd:

 

ID | tipo_produto | valor

7 | Carne | 34.54

9| Suco | 10.47

10| Frutas | 5.10

11| | Carne | 38.41

12| Suco | 12.20

13 | Frutas | 4.17

 

Porem vou fazer o fechamento diário, e queria saber o valor total de cada produto especifico no banco de dados. Como por exemplo:

Carne: 72.85

Suco: 22.67

Frutas: 9,27

 

Ja tentei usar:

select tipo_produto, sum(valor) from pagamentos

porém, ele me da o valor de tudo. Aparece: carne: 104.79.

 

Como faço para ter o valor total, de cada produto especifico, na tabela valor???

 

Alguém pode me ajudar por favor. Obrigado desde ja

 

 

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

3 respostas a esta questão

Recommended Posts

  • 0

select tipo_produto, sum(valor )

from pagamentos

Group by tipo_produto

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
7 horas atrás, Motta disse:

select tipo_produto, sum(valor )

from pagamentos

Group by tipo_produto

 

Opa, amigo obrigado. Era isso mesmo, eu tinha consigo resolver. Usei: 

 

select `tipo_produto` ,count(*) qtd , sum(valor) valor from pagamentos 
group by tipo_produto

 

Porém, pelo seu método é mais simples e básico. E é isso que eu preciso. Obrigado

 

Ahhh mais uma coisa. Ele fez um calculo meio louco:

 

tipo_produto sum(valor)  
Suco 1999.2
Carnes 380.79999999999995

 

A conta esta certa, mas na conta de carnes tem como colocar para arrendodar para 380.8 ou reduzir os dígitos finais e deixar apenas: 380.799 ?

 

Desde ja, muito obrigado mesmo !

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Perroni91
      Olá pessoal.
      Estou com uma dúvida, mas como sou leiga no mysql, não estou conseguindo resolver.
       
      Tenho duas tabelas no meu banco de dados:
       
      Posts
      id
      titulo_principal
      categoria_id
      imagem
       
      Categorias
      id
      categoria
       
      ---

      Já cadastrei as categorias 'HTML' e 'CSS', e cada um contêm 1 post de cada.

      O que eu gostaria era que: A cada vez que criar um post em alguma dessas categorias, mostrar a quantidade separadamente.

      Ficaria assim:
      HTML               3
      CSS                   1


      Alguém poderia me ajudar, por favor?
      Estou quebrando a cabeça tentando fazer isso e não consegui.
      Obrigada!
    • Por danart5
      Bom dia! Estou fazendo um sistema de chamados, e na pagina onde o cliente envia para mim os dados do seu chamado, gostaria de trazer um aviso onde informasse o ID do chamado do mesmo.
      No banco de dados tem o campo id_ocorrencia, é auto incremente e assim que o usuário cadastra a ocorrência é cadastrado um id_ocorrencia.
      Segue o código :
       
       
      <div class="cadastro-form">         <?php             $nome_solicitante = $_POST['nome_solicitante'];             $ccusto = $_POST['ccusto'];             $equip = $_POST['equip'];             $tp_problema = $_POST['tipo_problema'];             $obs_informada = $_POST['obs_informada'];             $data_cadastro = date('Y-m-d');             $hora_cadastro = date('H:i:s');             //Conexão com o MySQL             $conn = mysql_connect('localhost','root','123456');             if (!$conn) {                 die('Could not connect: ' . mysql_error($conn));             }             mysql_select_db("osafti", $conn);             mysql_set_charset("utf8", $conn);             $sqli = mysql_query("INSERT INTO cadOcor (nome_solicitante, ccusto, equip, data_cadastro, hora_cadastro, tipo_problema, obs_informada, status) VALUES ('$nome_solicitante', '$ccusto', '$equip', '$data_cadastro', '$hora_cadastro', '$tp_problema', '$obs_informada', '0')", $conn) or die (mysql_error());             if ($sqli) {             ?>                            --------- NESSA REGIÃO É ONDE GOSTARIA DE TRAZER O ID DO CADASTRO FEITO A CIMA, É POSSÍVEL ?  ----                 <div class="alert alert-success" role="alert">                     Ocorrência cadastrada com sucesso!                  </div> <?php } else { ?> <div class="alert alert-danger" role="alert"> Erro ao cadastrar ocorrência. Tente novamente. Caso o erro persista entre em contato com o CPD. </div> <?php } mysql_close($conn); ?> </div>
    • Por Fabiana Gomes
      Pessoal, boa noite
       
      Preciso de um help!!
       
      Tenho a tabela ENDERECO e na coluna LOUGRADOURO (40) preciso diminuir alguns endereços para 30 caracteres.
      Basicamente preciso cortar a partir da casa 30.
       
      Alguem pode me ajudar?
    • Por edyr0x
      Alguém poderia me ajudar a gerar uma relátório em php?
      preciso gerar uma tabela com total de bolsas vendidas por mês.  com total de cada modelo de bolsa fabricada por mês e total geral
      até consegui, porém gostaria de gerar com os meses nas colunas e só consegui gerar com os meses nas linhas... 
      tentei da seguinte forma:
       
      $link = $conexao;
      $consultar = "SELECT SUM(`resumo_bolsas_80`) AS m80, 
             SUM(`resumo_bolsa_12`) AS m12,
            SUM(`resumo_bolsa_20`) AS m20,
             SUM(`resumo_bolsa_40`) AS m40,
              SUM(`resumo_bolsa_90`) AS m90, 
               SUM(`resumo_bolsa_38`) AS m38, 
             MONTHNAME(resumo_data) AS `mes` 
      FROM  resocor
      GROUP  BY YEAR(`resumo_data`), 
                MONTH(`resumo_data`)"; 
      $resulta = mysqli_query($link, $consultar);
       
      ################## codigo php #######################
      <table>
            <tr>
                  <th class="tg-sg5v">MES</th>
                  <th class="tg-sg5v">80</th>
                  <th class="tg-sg5v">12</th>
                  <th class="tg-sg5v">20</th>
                  <th class="tg-sg5v">40</th>
                  <th class="tg-sg5v">90</th>
                  <th class="tg-sg5v">38</th>
              </tr>
              <?php 
                  foreach ($resulta as $row) {
              ?>
                  <tr>
                     
                      <td class="tg-0w8i"><?php echo $row['mes']; ?></td>
                      <td class="tg-0w8i"><?php echo $row['m80']; ?></td>
                       <td class="tg-0w8i"><?php echo $row['m12']; ?></td>
                       <td class="tg-0w8i"><?php echo $row['m20']; ?></td>
                       <td class="tg-0w8i"><?php echo $row['m40']; ?></td>
                       <td class="tg-0w8i"><?php echo $row['m90']; ?></td>
                       <td class="tg-0w8i"><?php echo $row['m38']; ?></td>
                  </tr>
              <?php  }     ?>
       </table
       
      SEGUE TABELA ANEXADA DE COMO GOSTARIA QUE APARECESSE NO RELATORIO
       
       

    • Por gersonab
      há tempos utilizo para cadastrar data no BD a instrução :
      implode('-',array_reverse(explode('/',$data)))
      com isso no input posso colocar 09/02/2019 e no banco de dados grava 2019-02-09 , até ai sem problemas, porém ao atualizar um sistema para pdo, estou com problema no insert dinâmico, onde posso fazer 1 ou mais inserts, da forma abaixo cadastro quantos eu quiser :
      $sql = "INSERT INTO cantos ( id_t, id_c, data, ca, cant, po, des) VALUES (:id_t, :id_c, :data, :ca, :cant, :po, :des)";              $stmt = $pdo->prepare($sql);             foreach($_POST['idp'] as $indice => $valor) {             $stmt->bindParam(':id_t', $_POST['id_tor'][$indice], PDO::PARAM_STR);             $stmt->bindParam(':id_c', $_POST['idp'][$indice], PDO::PARAM_STR);             $stmt->bindParam(':data', $_POST['data'][$indice], PDO::PARAM_STR);             $stmt->bindParam(':ca', $_POST["ca"][$indice], PDO::PARAM_STR);             $stmt->bindParam(':cant', $_POST['cant'][$indice], PDO::PARAM_STR);             $stmt->bindParam(':po', $_POST['po'][$indice], PDO::PARAM_STR);             $stmt->bindParam(':des', $_POST['des'][$indice], PDO::PARAM_STR);                              if ($stmt->execute()){                     echo "Cadastrado com sucesso.";             }
      no entento a data vai no formato do input 09/02/2019.
      caso utilize :
      $stmt->bindParam(':data', implode('-',array_reverse(explode('/',$_POST['data'][$indice]))), PDO::PARAM_STR);
      tenho o erro Strict standards: "Only variables should be passed by reference in "que significa "Apenas as variáveis podem ser passadas por referência"
      qual a melhor forma de se fazer neste caso ?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.