Ir para conteúdo
coolroot

Somando elementos de uma coluna usando sub select

Recommended Posts

Prezados,

Estou precisando de ajuda com um select que eu fiz na marra, porem, preciso aprimorar e eu confesso que não tenho conhecimento suficiente no assunto.

O problema é o seguinte, estou trazendo dados de uma base do zabbix, no momento, o select traz o resultado do ultimo valor inserido, preciso trazer dos três ultimos e fazer uma média da coluna value.

 

SELECT
  h.name,
  h.description,
  (SELECT history.VALUE 
   FROM history 
   WHERE history.itemid = i.itemid 
   ORDER BY history.clock DESC LIMIT 1) AS 'value'
FROM zabbix.hosts AS h
  JOIN hosts_groups AS hg ON hg.hostid = h.hostid
  JOIN groups AS g ON g.groupid = hg.groupid
  JOIN items AS i ON i.hostid = h.hostid
WHERE
  g.name = 'filiais'
  AND 
  i.name = 'ICMP loss'
  AND
  h.status = 0;

 

Anexei um print de como os dados estão vindo.

 

 

É viável fazer isso? o que eu poderia usar

 

Captura de Tela 2018-09-14 às 09.28.23.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por AllysonSouza
      Boa noite, to precisando de ajuda, eu to listando os dados direto do banco de dados em um tabela, so que ela faz isso linha por linha como é feito, eu queria que ele listasse duas tabelas na mesma pagina, só que dando continuidade da busca do banco de dados, exemplo. ele busca 50 resultados no banco, ai ele pega o maximo de linhas possivel em uma tabela, e do outro lado da tela ele lista o restante dos dados...enfim, eis meu codigo, exibindo tudo em uma tabela só
      <?php $categoria = $_GET['categoria']; $sql = "SELECT p.id AS idProd, p.nome AS produto, p.largura, p.comprimento, p.estilo, p.valor, p.valorCompra, p.estoque, p.imagem, c.id AS idCat, c.nome AS categoria, p.vendidos, p.tipo, p.detalhe FROM produtos p INNER JOIN categorias c ON p.categorias_id=c.id WHERE c.id=$categoria ORDER BY p.nome, p.largura ASC"; $res = mysqli_query($con, $sql); $dados = mysqli_fetch_array($res); ?> <div class="panel-footer"> <table class="table table-bordered table-hover text-center"> <thead > <tr ><td colspan="5" style="text-align: center;"> <?php echo $dados['categoria']?></td></tr> </thead> <thead > <tr > <th width="250" class="text-center" >Nome</th> <th width="10" class="text-center">Tamanho</th> <th width="100" class="text-center">Valor</th> </tr> </thead> <tbody> <?php while($linha = mysqli_fetch_array($res)){ ?> <tr > <td > <?php echo $linha['produto']; echo " "; echo $linha['largura'] ; echo " "; echo $linha['detalhe']; echo" "; if($linha['estilo']==0){ echo ''; }else if($linha['estilo']==1){ echo '(Bruta)'; }else if($linha['estilo']==2){ echo '(Plainada)';}?> <label class='label label-danger'><?php if($linha['tipo'] == 0 ){ echo 'ML';}; ?></label> <label class='label label-primary'><?php if($linha['tipo'] == 1 ){ echo 'M²';}; ?></label> <label class='label label-warning'><?php if($linha['tipo'] == 2 ){ echo 'Peça';}; ?></label> <label class='label label-info'><?php if($linha['tipo'] == 3 ){ echo 'Duzia';}; ?></label> <label class='label label-success'><?php if($linha['tipo'] == 4 ){ echo 'KG';}; ?></label> </td> <td><?php if($linha['comprimento']==0){ echo '1 M '; }else if($linha['comprimento']==1){ echo '3 M'; }else if($linha['comprimento']==2){ echo '4 M'; }else if($linha['comprimento']==3){ echo '5 M'; }else if($linha['comprimento']==4){ echo '6 M'; }else if($linha['comprimento']==5){ echo ''; } ?></td> <td> <?php echo Conversor::realBancoParaUsuario($linha['valor']); ?> </td> </tr> <?php } ?> </tbody> </table> </div>  
    • Por Gemeons
      SELECT tabehist.HIST_Descricao, `vw_saldobancario`.`codigoHistorico`, (SELECT SUM(debitos + debitosPendentes) FROM vw_saldobancario WHERE mes = '1' AND `conta_bancaria_id` = '3' AND vw_saldobancario.codigoHistorico = tabehist.HIST_Codigo) AS 'mes1', `vw_saldobancario`.`conta_bancaria_id` FROM vw_saldobancario INNER JOIN tabehist ON vw_saldobancario.codigoHistoricod = tabehist.HIST_Codigo AND `ano` = '2018' AND `conta_bancaria_id` = '3' AND codigoHistorico < 500 GROUP BY codigoHistorico  
      A query e montada a partir dessa função aonde contem um for que vai montando o meses partir do que o usuário pede .
       
      { $dataInicio = (int)$dataInicio; $i = 0; $query = "SELECT tabehist.HIST_Descricao, `vw_saldobancario`.`codigoHistorico`, "; for ($i = $dataInicio ; $i <= $dataFim; $i++) { $query = $query. "(SELECT SUM(debitos + debitosPendentes) FROM vw_saldobancario WHERE mes = '{$i}' AND `conta_bancaria_id` = '{$contaBancaria}' AND vw_saldobancario.codigoHistorico = tabehist.HIST_Codigo) AS 'mes{$i}',"; } $query = $query. " `vw_saldobancario`.`conta_bancaria_id` FROM vw_saldobancario INNER JOIN tabehist ON vw_saldobancario.codigoHistorico = tabehist.HIST_Codigo AND `ano` = '{$ano}' AND `conta_bancaria_id` = '{$contaBancaria}' AND codigoHistorico < 500 GROUP BY codigoHistorico "; return $this->db->query($query)->result(); }  
    • Por fabio3050
      Bom dia, amigos não sou desenvolvedor estou desenvolvendo uma plataforma com um pessoal fora dos Brasil, mas não estou conseguindo explicar a melhor forma para fazer esse código será que podem me ajudar.
       
      Foi feito 2 botões onde esses botões precisa executar um campo dentro do mysql porque nesse campo vai vim Via API um PDP, e esse botão somente precisa executar esse campa para que gere esse PDF, alguém pode colocar de forma técnica para que eu posso enviar pra eles!
       
       
      Muito Obrigado
    • Por mbdec
      ola pessoal! 
      gostaria da ajuda de vocês para criar botões executando funções mysql.
      aqui esta a função mysql trazer o result set e fazer echo
      é um sistema de nutricionismo ele faz comparações no banco de dados, então queria criar botões para executar as açoes e "echo" para exibir os resultados 
      Tabela Alimento:
      Alimento_ID Nome


      Tabela Beneficios_Males Beneficios_Males_ID Nome Tipo('B','M') (Se é beneficio ou Males)   Tabela Alimento_Beneficios_Males Alimento_ID
      Beneficios_Males_ID     Por exemplo, trazer todos os alimentos e seus beneficions

      SELECT Alimento.*, Beneficios_Males.* FROM Alimento JOIN Alimento_Beneficios_Males USING (Alimento_ID) JOIN Beneficios_Males USING (Beneficios_Males_ID) WHERE Tipo = 'B';   Por exemplo, trazer todos os alimentos e seus males   SELECT Alimento.*, Beneficios_Males.* FROM Alimento JOIN Alimento_Beneficios_Males USING (Alimento_ID) JOIN Beneficios_Males USING (Beneficios_Males_ID) WHERE Tipo = 'M';   ____________________________              -     |botão para executar a ação|               label para o echo         label para o echo ____________________________              --------------------------          ---------------------------     |botão para executar a ação| ------------------------------------
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.