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 aguimarsp
      Boa noite a todos.
       
       Me desculpem se aqui não é o local para publicar essa pergunta.
       
       Sou novato em Delphi, estudando na unha. Estou criando um sistema que emite ordem de serviços, e queria saber como faço para que o cliente possa consultar via internet as Ordens que foram solicitadas por ele via telefone? Onde ele possa emitir relatórios, imprimir O.S, etc.
       
       Desde já agradeço a todos que puderem me dar uma luz. Abraços.
    • Por netocazuza
      Boa noite a todos. O meu sistema está gravando os dados num arquivo txt, pois é algo simples e experimental por enquanto. A página que estou postando o código na sequência, lista todos os registros desse arquivo txt, porém eu gostaria de saber se também posso fazer consultas específicas e qual a sintaxe. Vejam o código: Ele está listando todas as apostas feitas. Na tela anterior, a pessoa digita num textbox um número de 0 a 100, e mais algumas informações, clica em gravar, e as informações são gravadas nesse arquivo apostas.txt. Esse arquivo abaixo, lista tudo isso na tela, no formato txt mesmo. Porém lista todas as informações, e eu queria que listasse de acordo com alguns parâmetros. Por exemplo: listar os dados de todos que escolheram o número 88, ou listar todos os prefixos 11, e por aí vai. Cada item desses que citei, são variáveis do sistema.
      <?php // cria nome de variavel abreviado $DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT']; ?> <html> <head> <title>Apostas feitas</title> </head> <body bgcolor="#00C2F7"> <h2>Apostas</h2> <?php @ $fp = @fopen('apostas.txt','r'); if (!$fp) { echo '<p><strong> Número de pedidos.' .'Por favor, tente novamente mais tarde.</strong></p>'; exit; } while (!feof($fp)) { $order= fgets($fp, 999); echo $order.'<br />'; } fclose($fp); ?> </body> </html>  
    • Por diulio
      Bom dia a todos, gostaria de uma ajuda para adicionar uma classe no maior número, segundo maior número e o menor número.
      Tenho uma variável $Resultado que está fazendo uma comparação dos números e quando localiza um número igual soma +1, blz ate aqui está tranquilo.
      Aí tenho uma tabela que monta o $Resultado linha a linha com a soma de quantos números foram iguais para cada linha.
      Agora minha dúvida como faço para colocar uma classe (colorindo o texto), fiz dois testes um com IF que funciona mais não como eu gostaria e um com SWITCH que não funciona como eu gostaria, segue código abaixo
       
      <?php switch ($Resultado) { case '10': case '9': case '8': case '7': case '6': case '5': case '4': case '3': case '2': case '1': # code... echo "class='success text-success text-center'"; break; case '10': case '9': case '8': case '7': case '6': case '5': case '4': case '3': case '2': case '1': # code... echo "class='info text-info text-center'"; break; case '10': case '9': case '8': case '7': case '6': case '5': case '4': case '3': case '2': case '1': # code... echo "class='danger text-danger text-center'"; break; default: # code... break; } ?> Nesse código acima está "colorindo" (success = verde) todos os resultados. A minha ideia é quando localizar o maior número aplica a classe (success = verde) e passa para a próxima comparação quando localizar o segundo maior número aplica a classe (info = azul) e depois para ultima comparação e quando localizar o menor número aplicar a classe (danger = vermelho). Como seria a melhor opção para essa comparação?
       
      Agora tentei com IF e funciona ate certo ponto, segue abaixo o codigo
      <?php if( $totalAcertos == 10 || $totalAcertos == 9) { echo "class='success text-success'"; } elseif ($totalAcertos == 9 || $totalAcertos == 8) { # code... echo "class='info text-info'"; } elseif ($totalAcertos == 2 || $totalAcertos == 1 || $totalAcertos == 0) { # code... echo "class='danger text-danger'"; } ?> Nesse caso também estou com o mesmo problema aplicando a classe nos dois números maiores (mas nem sempre será esses dois números, pois pode ter caso em que o número 8 ou 7... será o maior). Como seria a melhor maneira de fazer essa comparação?
       
       
      Desde já, muito obrigado.
      Caso eu não tenha sido muito claro por favor me avise que tenho explicar melhor.
       
    • Por josePeixoto
      Olá, alguém pode me ajudar nessa consulta?
      SELECT TRUNC(a.dt_atualizacao) dt, (SELECT COUNT(a.cd_pessoa_fisica) FROM agenda_consulta f, adiantamento a, caixa_receb cr WHERE a.cd_pessoa_fisica = f.cd_pessoa_fisica AND a.nr_seq_caixa_rec = cr.nr_sequencia AND f.ie_classif_agenda ='P' AND TRUNC(a.dt_atualizacao) BETWEEN :dt_inicial AND :dt_final AND a.CD_ESTABELECIMENTO=:cd_estab) qtt_cons, (SELECT COUNT(a.cd_pessoa_fisica) FROM agenda_consulta f, adiantamento a, caixa_receb cr WHERE a.cd_pessoa_fisica = f.cd_pessoa_fisica AND a.nr_seq_caixa_rec = cr.nr_sequencia AND f.ie_classif_agenda ='Pr' AND TRUNC(a.dt_atualizacao) BETWEEN :dt_inicial AND :dt_final AND a.CD_ESTABELECIMENTO=:cd_estab) qtt_proc, (SELECT COUNT(a.cd_pessoa_fisica) FROM agenda_paciente f, adiantamento a, caixa_receb cr WHERE a.cd_pessoa_fisica = f.cd_pessoa_fisica AND a.nr_seq_caixa_rec = cr.nr_sequencia AND f.IE_STATUS_AGENDA ='E' AND TRUNC(a.dt_atualizacao) BETWEEN :dt_inicial AND :dt_final AND a.CD_ESTABELECIMENTO=:cd_estab) qtt_exa FROM adiantamento a, caixa_receb cr WHERE a.nr_seq_caixa_rec = cr.nr_sequencia AND TRUNC(a.dt_atualizacao) BETWEEN :dt_inicial AND :dt_final GROUP BY TRUNC(a.dt_atualizacao) ORDER BY 1; Ela ta me trazendo as datas direitinho, mas não está somando por elas, mas sim, tudo e colocando na tabela. Seguem os resultados
       
      01/01/2017       68       15       10
      02/01/2017       68       15       10
      03/01/2017       68       15       10
      04/01/2017       68       15       10
      ...
       
      Alguém tem alguma noção do que tá errado ou como resolver?
       
      Obrigado desde já!!!
    • Por GuedesCRD
      Prezados, 
      Estou montanto um View de Vendas e estou com problemas para mostrar o conteudo que desejo.
      Os dados do banco estão assim: 
      Id Vendedor Valor Data Dia Mes Ano
      1 Guedes 1000 2017-04-25 25 04 2017
       
      Preciso que os dados sejam mostrados da seguinte forma:
      Vendedor TotalDia TotalMes
      Onde agrupe os vendedores, mostre o valor total de vendas do dia e o valor total de vendas do mes.
       
      Segue o codigo que eu montei, ele mostra as informações na tabela mas não linha por linha. E gostaria de alterar os valores para o formato de moeda.
       
      <?php //Conexão com o banco de dados $conn = mysql_connect("localhost", "root", ""); $db = mysql_select_db("ticket", $conn); $dia = date('d'); $mes = date('m'); //Agrupa todos os vendedores $Vendedor = "SELECT Vendedor FROM dbo_vendas Group By Vendedor"; //Agrupa Vendedores e Soma todos os valores referente ao dia atual $Valordia = "SELECT Vendedor, SUM(Valor)AS Valordia FROM dbo_vendas WHERE Dia='$dia' Group By Vendedor"; //Agrupa Vendedores e Soma todos os valores referente ao Mês atual $Valormes = "SELECT Vendedor, SUM(Valor)AS Valormes FROM dbo_vendas WHERE Mes='$mes' Group By Vendedor"; $Vendedor1 = mysql_query($Vendedor, $conn) or die(mysql_error()); $Valordia1 = mysql_query($Valordia, $conn) or die(mysql_error()); $Valormes1 = mysql_query($Valormes, $conn) or die(mysql_error()); $ven = mysql_fetch_assoc($Vendedor1); $vlrdia = mysql_fetch_assoc($Valordia1); $vlrmes = mysql_fetch_assoc($Valormes1); $totallinha = mysql_num_rows($Vendedor1); $totallinha2 = mysql_num_rows($Valordia1); $totallinha3 = mysql_num_rows($Valormes1); ?> <body> <table> <thead> <tr> <th>Vendedor <th>Total Dia <th>Total Mês <tbody> <tr> <th><?php if($totallinha > 0) { do { ?> <p><?=$ven['Vendedor']?></p> <?php }while($ven = mysql_fetch_assoc($Vendedor1)); } ?> <td><?php if($totallinha2 > 0) { do { ?> <p>R$ <?=$vlrdia['Valordia']?> </p> <?php }while($vlrdia = mysql_fetch_assoc($Valordia1)); } ?> <td><?php if($totallinha3 > 0) { do { ?> <p>R$ <?=$vlrmes['Valormes']?> </p> <?php }while($vlrmes = mysql_fetch_assoc($Valormes1)); } ?> </table> </body>