Publicidade

Entre para seguir isso  
Seguidores 0
josePeixoto

Condição dentro do Where

Olá, o meu problema é o seguinte:

1) quero fazer média de alguns valores

2) alguns são zero e outros são números negativos

3) não quero que os números negativos entrem na contagem, quero que eles sejam transformados em 0 e contabilizem na hora de fazer a média.

Alguém saberia como fazer isso com uma condição dentro do where ou de alguma outra forma?

Obrigado desde já!

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Select avg(( case when valor >= 0 then valor else 0 end))

From tabela

0

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
Entre para seguir isso  
Seguidores 0

  • Próximos Eventos

  • Conteúdo Similar

    • Por lbitte
      Boa noite galera, é o seguinte... tenho uns dados no MySql que imprimo na tela mostrando nome, id e data... ai queria fazer um IF que verifica se aquela data foi mais que 6 meses atrás, se tiver mais que 6 meses mostra em verde, se a data tiver menos que 6 meses vai mostrar em vermelho. Como proceder?
       
      Obs: Tem que fazer um sistema que nao compara com a data do PC, pois o cara pode mudar a data e burlar...
    • Por gust.php
      Senhores, to usando o zend2 com doctrine2 e tentando fazer uma query dinamica para alguns relatórios.
       
      Vou gerar um relatório bem simples de clientes com os seguintes filtros: status, tipo e estado
      Estou tentando assim no doctrine sem sucesso.
      O que acontece é que ele retorna todos os registros de clientes, ele não filtra mesmo eu setando as variaveis.
       
      public function periodo($status = "", $estado = "", $tipo = "")        {             $em = $this->getEntityManager();             $qb = $em->createQueryBuilder();                          $qb->select('u');             $qb->from('Application\Model\Pessoa', 'u');                          if($status != ""){                 $qb->andWhere('u.ATIVO = :status');                 $qb->setParameter('status', $status);             }                          if($estado != ""){                 $qb->andWhere('u.UF = :estado');                 $qb->setParameter('estado', $estado);             }                          if($tipo != ""){                 $qb->andWhere('u.TIPO = :tipo');                 $qb->setParameter('tipo', $tipo);             }                          $qb->andWhere('u.GRUPO = C');             $qb->orderBy('u.RAZAO','ASC');                          $query = $qb->getQuery();                          return $query->getResult();        }  
    • Por lipergs
      Alguém tem e quer compartilhar ou conhece alguma rotina FREE para consulta automatizada à SEFAZ para busca de NFE??
    • Por Caio35
      Seguinte galera, eu estava aprimorando meu código de cadastro, colocando algumas funções do tipo: não cadastrar o mesmo e-mail, verificar se a senha é menor que 8 caracteres e etc..
      o código estava funcionando "perfeitamente" a não ser a parte de verificar se o mesmo e-mail já estava cadastrado. (ele meio que ignorava o if que fazia a verificação).. mas eu consegui resolver. só que agora apenas a função de verificar se o e-mail esta cadastrado está funcionando.. o php esta ignorando todo o resto e  não prossegue a operação.. 
       
      Quando o e-mail é igual, ele da o echo e retorna a pagina de cadastro.. agora quando não é, q no caso o cadastro deveria ser realizado normalmente a pagina aparece totalmente em braco.. o php para de funcionar.. algo assim, oque devo fazer?
       
      Segue abaixo o meu código.
       
      <?php $username=$_POST['username']; $email=$_POST['email2']; $password=$_POST['password2']; $email_check = mysql_query("SELECT * FROM user WHERE email='$email'") or die (mysql_error()); $do_email_check = mysql_num_rows($email_check) or die (mysql_error()); if (mysql_num_rows($email_check) >=1 ) { echo "<center> <br><a href='home.php'><img src='img/wh-logo.png'></a> <br><br> <br><div class='descricao1'>Este email já esta registrado.</div>"; echo "<script>registerfailed()</script>"; } else if ($password == '' OR strlen($password)<8) { echo "<center> <br><a href='home.php'><img src='img/wh-logo.png'></a> <br><br> <br><div class='descricao1'>Sua senha deve conter mais de 8 caracteres.</div>"; echo "<script>registerfailed()</script>"; } else if ($sql = mysql_query ("INSERT INTO user(username, email, password) VALUES('$username', '$email', '$password')")) { echo "<center> <br><a href='home.php'><img src='img/wh-logo.png'></a> <br><br> <br><div class='descricao1'>Sua conta foi criada com sucesso!</div>"; echo "<script>registersuccessfully()</script>"; } else { echo "<center> <br><a href='home.php'><img src='img/wh-logo.png'></a> <br><br> <br><div class='descricao1'>Sua conta não foi criada, tente novamente.</div>"; echo "<script>registerfailed()</script>"; } ?>  
    • Por josenilson
      olá pessoal tenho esse Script no qual eu uso para gerar um relatório a partir de um campo inputs,  agora estou tentando fazer com que esse script funcione porem com dois campos no meu caso Data inicial  e Data Final,  não sei se estou correto mas o SQL que devo utilizar seria esse   SELECT * FROM Pessoa WHERE Nascimento BETWEEN '01-01-1981' AND '31-12-1990'
      SELECT * FROM cad_clientes WHERE data_nascimento BETWEEN 'varial data inicial ' AND 'variavel data final' me corrija por favor seu eu estiver errado,  minha limitação esta como devo adaptar o código que já utilizo para armazenar nesse caso os  dois valores,  e mais uma coisa por favor como faço para que ao retornar o resultado da consulta seja mostrado os nomes das respectivas dadas consultadas.
       
      abaixo esta o código que utilizo, obrigado.
       
      <?php if (isset($_POST["search"])) { $searchq = $_POST["search"]; $searchq = preg_replace("#[^0-9a-z]#i", "",$searchq); $consulta = $pdo->query(" SELECT nome FROM cad_cliente WHERE nome LIKE '$searchq%' ")or die ("could not search !" ); $dados = $consulta->fetchAll(PDO::FETCH_ASSOC); $numRows = count($dados); if($numRows > 0) { foreach ($dados as $result) { echo "<html><label></label><p>".$result['nome']."<br/></html>"; } } else { echo" Não há registro"; } } ?>