Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida sobre somatório

Tenho a seguinte tabela:

CREATE TABLE tabela(
        id_nf INTEGER NOT NULL,
        valor_unit NUMERIC(5,2) NOT NULL,
        quantidade INTEGER NOT NULL
);

INSERT INTO tabela VALUES(1, 25.00, 8);
INSERT INTO tabela VALUES(1, 10.00, 14);
INSERT INTO tabela VALUES(2, 15.00, 10);
INSERT INTO tabela VALUES(2, 50.00, 5);
INSERT INTO tabela VALUES(3, 5.00, 20);
INSERT INTO tabela VALUES(3, 30.00, 5);

Eu gostaria de fazer um SELECT mostrando o somatorio do valor total (que eh correspondido pelo valor_unit * quantidade) por id_nf, de forma que mostre o id_nf apenas uma vez e o somatório correto referente a cada id, desde ja agradeço a ajuda.

2 respostas
solução!

Boa noite Antonio,

Você pode usar o GROUP BY:

SELECT id_nf, SUM(valor_unit * quantidade) AS resultado FROM tabela
GROUP BY id_nf;

Ela agrupa com base em uma coluna e uma função de agregação, nesse caso somou todos os valores de multiplicação e agrupou por ID. Para ver essa etapa de valores multiplicados e visualizar melhor a agregação, faz essa query antes:

SELECT id_nf,  valor_unit * quantidade AS resultado FROM tabela;

Espero ter ajudado

Ajudou demais, muito obrigado.