Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal, estou utilizando as funções COUNT e SUM em duas consultas recentes. Na primeira consulta o count se aplicou perfeitamente pq o select é bem simples. Já na segunda consulta ele não serviu pq preciso usar uma condição para a contagem, e foi daí que testando count e sum, me deperei com uma surpresa:
Sei que o SUM soma os valores de uma coluna, enquanto o COUNT conta a quantidade de registros/linhas.
Mas ao inserir uma condição dentro do SUM, percebi que ele conta as linhas ao invés de somar os registros. E é isso que eu não entendi.
Já procurei no google sobre esse detalhe mas não encontrei explicação nem mesmo no site do mysql.
Ex:
Tabela 1
id | num
1 | 2
1 | 5
1 | 6
1 | 8
Pois bem, se eu usar:
"SELECT idu, sum(ida) as ida FROM $bancoCli.tb_teste_2 where ida<=5 group by idu"
o resultado será = 7(2+5)
Mas se eu usar:
"SELECT idu, sum(ida<=5) as ida FROM $bancoCli.tb_teste_2 group by idu"
o resultado será = 2(registros) ao invés da soma(2+5)
Gostaria de saber pq ele conta os registros ao invés de somar os valores.
Desde já agradeço qualquer ajuda.
Carregando comentários...