SELECT CODIGO_DO_PRODUTO, max(QUANTIDADE) AS RESPOSTA, count(QUANTIDADE) AS CONTAMENTO FROM itens_notas_fiscais where CODIGO_DO_PRODUTO ='1101035'
having max(CONTAMENTO);
Olá pq esse código não consegue me dar a resposta correta??
SELECT CODIGO_DO_PRODUTO, max(QUANTIDADE) AS RESPOSTA, count(QUANTIDADE) AS CONTAMENTO FROM itens_notas_fiscais where CODIGO_DO_PRODUTO ='1101035'
having max(CONTAMENTO);
Olá pq esse código não consegue me dar a resposta correta??
Oii Victor, tudo bem?
Você esqueceu de passar como parâmetro no where a quantidade encontrada de itens de venda daquele produto, então sua consulta ficaria assim:
SELECT CODIGO_DO_PRODUTO,
max(QUANTIDADE) AS RESPOSTA,
count(QUANTIDADE) AS CONTAMENTO
FROM itens_notas_fiscais
where CODIGO_DO_PRODUTO ='1101035' and QUANTIDADE = '99'
Eu tirei o having, pois não irá fazer efeito algum sobre a sua consulta.
Espero ter ajudado. Qualquer coisa é só falar, beleza? :)
Olá Victor, tudo bem?
Para a seu query funcionar corretamente, você precisa adicionar na cláusula WHERE mais um filtro, que é o campo quantidade. Assim, o COUNT só levará em consideração as linhas onde o código do produto for igual a 1101035 e a quantidade for igual a 99.
A sua query após as alterações:
SELECT CODIGO_DO_PRODUTO,
MAX(QUANTIDADE) AS RESPOSTA,
COUNT(QUANTIDADE) AS CONTAMENTO
FROM itens_notas_fiscais
WHERE CODIGO_DO_PRODUTO ='1101035' AND QUANTIDADE = 99;
Espero ter ajudado e bons estudos!
Obrigado pela resposta! entendi os problemas com o codigo. Porém, ainda tenho a seguinte dúvida. Pq quando eu solicito a maxima quantidade e agrupo pelo código do produto a minha query não me retorna o número máximo referente aos valores de cada codigo dos produtos??
SELECT CODIGO_DO_PRODUTO,
MAX(QUANTIDADE) AS QUANTIDADE_MAXIMA,
FROM itens_notas_fiscais
GROUP BY CODIGO_DO_PRODUTO;
o codigo acima so retorna o valor 99 para todos os itens agrupados.
Neste banco de dados utilizado pelo instrutor durante a formação Victor, a quantidade máxima informada para todos os produtos foi 99, por este motivo quando você executa está query, buscando o valor máximo vendido por produto é retornado o valor 99 para todos.