Rafalima 0 Denunciar post Postado Junho 26, 2015 Tenho uma tabela no BD chamada "produtos" onde no campo "valor" possui 33 valores em reais. Para conseguir a media geral total por mês, fim assim: 1-nesta variável pego o mês atual, $mes = date(m); 2-no SELECT faço a soma de tudo com sum(valor) e guardo o resultado na variável $soma; 3-para chegar no resultado final pego $soma/$mes, assim consigo a média por mês. Legal funciona certinho. Mas o problema será quando passar de dezembro para janeiro. Ou seja, terei um valor bem maior do que tenho hoje e conforme fiz, terei a soma total dividida por 1, onde o certo seria por 13. Como fazer isso diretamente no mysql? Compartilhar este post Link para o post Compartilhar em outros sites
Kakaroto1309 0 Denunciar post Postado Junho 29, 2015 Cria uma coluna na tabela e vai incrementando ele...ao inves de dividir pelo mes, você divide por ele, que da na mesma.... Compartilhar este post Link para o post Compartilhar em outros sites
Rafalima 0 Denunciar post Postado Julho 1, 2015 Kakaroto, valeu pelo apoio, mas o valor da média mensal é necessária. A média do valor de todos os produtodos não é importante. Não sei se fui claro. Por exemplo: Gastei R$ 5000,00 em 5000 produtos para minha loja. Quero saber qual a média de gasto por mês e não por produto. Ou seja, 5000 dividido pelo mês atual (7) = 714,3. Então de janeiro até agora minha média de gasto foi R$ 714,3. Estou tentando deixar automatico no mysql, pois quando chegar o mês de janerio de 2016, a divisão tem que ser feita por 13. No meu script atual terei que colocar o 13 manualmente. Por isso que não tá legal. Compartilhar este post Link para o post Compartilhar em outros sites
ESerra 744 Denunciar post Postado Julho 1, 2015 Movendo para a área correta, MySQL. Compartilhar este post Link para o post Compartilhar em outros sites
lokaodomau 61 Denunciar post Postado Julho 2, 2015 Pelo que entendi, você tem uma tabela que registra todo o gasto em produtos para sua loja, mas nesta tabela não tem a data da movimentação. O certo seria trabalhar com as funções de data do MySQL, um exemplo seria somar todo o gasto e agrupar por mês. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Julho 2, 2015 Algo assim ... Select avg(valor) From vendas Where year(data_venda) = 2015 And month(data_venda) = 6 Compartilhar este post Link para o post Compartilhar em outros sites
Rafalima 0 Denunciar post Postado Julho 20, 2015 Ainda não é isso. Acredito que deve haver alguma maneira de mostrar o resultado automático. Eu conheço pouquíssimo desta e de outras linguagens. Mas continuo pesquisando e testando. Conforme seu exemplo, não terei resposta quando entrar o mês 7, então terei que alterar o mês manualmente. Não é essa a ideia. Mas de qualquer forma valeu! Compartilhar este post Link para o post Compartilhar em outros sites
lokaodomau 61 Denunciar post Postado Julho 20, 2015 Tente assim: SELECT SUM(valor) AS total, YEAR(data_venda) AS ano, MONTH(data_venda) AS mes FROM vendas WHERE YEAR(data_venda) = 2015 GROUP BY ano, mes # agrupado pelo ALIAS, certifique-se que não exista # campos com estes nomes na tabelas envolvidas. No exemplo acima, a consulta exibe a soma mensal no ano de 2015. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Julho 20, 2015 ou de forma automática SELECT SUM(valor) AS total, YEAR(data_venda) AS ano, MONTH(data_venda) AS mes FROM vendas WHERE YEAR(data_venda) = year(CURDATE) AND MONTH=MONTH(CURDATE) GROUP BY ano, mes Compartilhar este post Link para o post Compartilhar em outros sites