Guest - Tiago - Posted February 14, 2005 Report Share Posted February 14, 2005 Pessoal, estou tentando fazer algo do tipo sum(count(*)) mas estou tendo muita dificuldade. Alguém pode me dar uma ajuda ??------------------------------| motivo | count(motivo) |------------------------------| falta | 75 | | atrasos | 51 || reclam. | 9 |------------------------------preciso que o count(motivo) seja somado .... 75 + 51 + 9 ....Obrigado. Link to comment Share on other sites More sharing options...
0 Fabyo Posted February 15, 2005 Report Share Posted February 15, 2005 só usar o sum(motivo) Link to comment Share on other sites More sharing options...
0 Guest - Tiago - Posted February 15, 2005 Report Share Posted February 15, 2005 Não funciona Fabyo ... motivo em si não são números ... são strings ... Link to comment Share on other sites More sharing options...
0 Fabyo Posted February 16, 2005 Report Share Posted February 16, 2005 Ai fica dificil, porque você não trabalha com os campos certo? cada campo do banco tem sua utilidade e funcionabilidade data campo DATE ou DATETIME numeros inteiros SMALLINT INT BIG INT valor monetario DECIMAL texto text strings varchar ou char etc...senao você fica fazendo gambiarra e não consegue fazer uma coisa simples funcionar Link to comment Share on other sites More sharing options...
0 Guest - Tiago - Posted February 16, 2005 Report Share Posted February 16, 2005 Mas estou utlizando os campos certos (na minha opinião).Veja o modelo da tabela:ID - autoincrement, unique, pkDATA - datetime -> data e hora do cadastro da ligaçãoOPID - varchar(15) -> este campo é uma identificação do cara que cadastrou a ligação, composto por 5 letras e 9 números.MOTIVO - varchar(100) -> motivo da ligação.A tabela é exatamente assim !!!Agora minha pergunta ?? Que cambiarra estou fazendo na sua opinião Fabyo ??Quero simplesmente saber: dado um período, puxar um relatório com cada motivo, seus respectivos números, e a soma de todas as ligações no período.... Link to comment Share on other sites More sharing options...
0 Fabyo Posted February 16, 2005 Report Share Posted February 16, 2005 Calma ai só comentei pois foi o que eu achei no seu 1 postnão da pra você usar sum em campos varchar e o count conta a quantidade se você usar o count ali ele vai retornar 3 Link to comment Share on other sites More sharing options...
0 Guest - Tiago - Posted February 16, 2005 Report Share Posted February 16, 2005 sim Fabyo, porém se eu colocoselect distinct motivo, count(motivo) from tb where .... ele me retorna as todos os motivos e suas respectivas quantidades.Até ai sem problemas. O que estou tentando descobrir no meu post é se existe um meio de eu ter uma soma de todos os motivos, ou terei que fazer uma gambiarra de ir somando linha por linha ??? Link to comment Share on other sites More sharing options...
0 Fabyo Posted February 17, 2005 Report Share Posted February 17, 2005 no select você pode usar o convert e depois o sum mas deque no campo não tenha nenhuma letra dai ele soma motivo | count(motivo) |------------------------------| falta | 75 | | atrasos | 51 || reclam. | 9 |outra coisa esse valores do motivo são o total ou um indicador ?porque não entendi ali motivo = falta e 75 é o numeor de faltas é isso ? Link to comment Share on other sites More sharing options...
0 Guest - Tiago - Posted February 17, 2005 Report Share Posted February 17, 2005 Sim Fabyo, aquele 75 representa a quantidade de finalizações (linhas da tabela) com motivo = faltas.Não consegui eliminar meu problema direto na consulta, mas como estou usando PHP, dentro do while(fetch_array) coloquei um contador que vai somando. Link to comment Share on other sites More sharing options...
Question
Guest - Tiago -
Pessoal, estou tentando fazer algo do tipo sum(count(*)) mas estou tendo muita dificuldade. Alguém pode me dar uma ajuda ??
------------------------------
| motivo | count(motivo) |
------------------------------
| falta | 75 |
| atrasos | 51 |
| reclam. | 9 |
------------------------------
preciso que o count(motivo) seja somado .... 75 + 51 + 9 ....
Obrigado.
Link to comment
Share on other sites
8 answers to this question
Recommended Posts