Curso Firebird SQL 25 – Sum e Group By

Vou mostrar como somar registros  como produtos vendidos, agrupando campos com a cláusula GROUP BY.

select i.IPED_PRODUTO as Codigo, p.PRO_NOME as Descricao,
sum(i.IPED_QTDE) as Quantidade, i.IPED_UNITARIO as Unitario,
sum(i.IPED_QTDE * i.IPED_UNITARIO) as Total
from Produto P, ITEMPEDIDO I
where p.PRO_CODIGO = i.IPED_PRODUTO
group by i.IPED_PRODUTO, p.PRO_NOME, i.IPED_UNITARIO


Publicado por

Daniel Morais

Comecei na área de TI há um bom tempo (1991) com aqueles cursos de MS-DOS 6.22, WordStar, Lotus123, Dbase III Plus, etc. Adorei programar em Dbase III Plus utilizando Dbf; achei fantástico quando aprendi a programar em Clipper Summer 87 e posteriormente Clipper 5.x, que era muito estável em rede utilizando Novell NetWare. Desde então sou um fanático por TI. Hoje desenvolvo aplicações para Windows, Android, OS X e Linux utilizando Lazarus (free Pascal) . Blogueiro (www.infocotidiano.com.br, www.aprendalazarus.com.br, www.startdb.info). Além dos meus Blogs tenho um canal no YouTube o www.youtube.com.br/infocotidiano onde tenho mais de 1 Milhão de visualizações com vídeos de dicas diversificadas que vão desde solucionar um erro de impressão, curso sobre banco de dados, até criar software multi-plataforma utilizando o Lazarus.

Um comentário em “Curso Firebird SQL 25 – Sum e Group By”

  1. Boa noite Daniel

    Antes de mais nada gostaria de parabenizá-lo pela iniciativa e compartilhar seu conhecimento e agradecer pela oportunidade de aprendizado.

    Estou iniciando agora em Delphi/Firebird/SQL e tenho uma dúvida. Estou montando uma aplicação para gravar o resultado de pesquisa de satisfação porém estou meio perdido na query. Na aplicação preciso contar o resultado das pesquisas quantas respostas foram dadas para cada opção. Até ai tudo funcionando. O problema é que quando o resultado é vazio (NULL) a aplicação não consegue montar o resultado. Se for possível o auxílio gostaria de encaminhar a query e o banco para avaliação. Desde já agradeço.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *