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

SOMA DIFERENTE

Estou fazendo um teste para ver se entendi o conhecimento passado no vídeo, porém, meu código não mostra o resultado esperado. Eu queria que o código mostrasse a soma total da quantidade dos itens pelo código do produto mas o resultado da soma está dando um valor muito maior. Um exemplo é o produto de id=1013793 que a soma das quantidades seria 2374 mas está dando 381678.

SELECT CODIGO_DO_PRODUTO, SUM(QUANTIDADE) AS TOTAL FROM itens_notas_fiscais GROUP BY CODIGO_DO_PRODUTO;
3 respostas

Olá José, tudo bem?

Bom José, para mim também foi retornado o valor de 381678 ao realizar soma das quantidades do produto 1013793, e esse valor de 2374 foi retornado para mim apenas quando fiz uma query limitando o total de registros a serem exibidos para 39 e depois somando o valor dos campos de quantidade através do Excel:

SELECT 
    codigo_do_produto, quantidade
FROM 
    itens_notas_fiscais 
WHERE
     codigo_do_produto = 1013793
 LIMIT 39;

Também realizei uma query com um COUNT no campo código do produto, para saber quantas vezes o produto foi inserido em notas:

SELECT
    codigo_do_produto, COUNT(codigo_do_produto) AS QUANTIDADE
FROM 
    itens_notas_fiscais 
WHERE 
    codigo_do_produto = 1013793  
GROUP BY 
    codigo_do_produto;

E essa query retornou o valor de 6971, essa é a quantidade de vezes que o produto foi inserido na tabela de notas fiscais. Então, não tem como o valor da soma das quantidades das unidades do produto 1013793 ser apenas 2374, já que só as vezes que o produto foi utilizado, ultrapassa essa quantidade.

Então José, você poderia informar como chegou a esse valor 2374 ? Você poderia verificar também quantos registros estão sendo retornados ? Por padrão o Workbench deve mostra os primeiros 1000 registros de cada tabela, mas isso pode ser alterado.

Você pode ver a quantidade de linhas retornadas, no resultado da query:

Linhas retornadas

Aguardo o seu retorno!

para achar o valor de 2374 eu utilizei o código para saber quantas vezes o produto de código 1013793 aparece fazendo:

SELECT * FROM itens_notas_fiscais;

e filtrei na tabela todas as vezes que aparecia o código 1013793 e somei as quantidades que apareciam (63+70+24....65) e o total deu 2374 . Não entendi essa forma de achar o valor usando o "limit=39". Qual o valor total certo? o 2374 ou o 6971? realmente não entendi.

solução!

O valor total é 6971 registros José, o que pode ter acontecido é que nem todos os registos foram exibidos para você, pois por padrão o Workbench deve mostra os primeiros 1000 registros de cada tabela, mas isso pode ser alterado, então primeiramente verifiquei a quantidade de registros que o Workbench estava permitindo ser retornado pela consulta:

  • Query >> Limit Rows

No meu casso deixei marcada a opção de 10000:

Quantidade de registros retornados

Em seguida executei a query para buscar apenas registros do produto 1013793:

SELECT * FROM itens_notas_fiscais WHERE CODIGO_DO_PRODUTO = 1013793;
  • E foram retornados 6971 registros:

registros retornados

Copiei o resultado e colei em uma planilha de Excel e somei todos os registros do campo quantidade:

soma dos campos em uma planilha Excel

Que foi o mesmo resultado obtido ao realizar a seguinte consulta:

SELECT CODIGO_DO_PRODUTO, SUM(QUANTIDADE) AS TOTAL FROM itens_notas_fiscais GROUP BY CODIGO_DO_PRODUTO;

Consulta da soma das quantidades dos produtosl