marcusc 0 Denunciar post Postado Março 3, 2004 Estou fazendo uma consulta complexa no MySQL, porém gostaria de saber se tem como eu usar um IF dentro do COUNT, ou um CONT dentro do IF, se possível, gostaria de saber a sintaxe correta, já que o COUNT e o IF separados não me interessam, abaixo segue como eu gostaria que fosse a consulta e como ela funciona atualmente://como ela funcionaSELECT dominio.nome,COUNT(dominio.id_dom) AS num_reg, FROMdominioINNER JOINdominio_cadastro ON (dominio.id_dom = dominio_cadastro.id_dom) GROUP BYdominio.nomeORDER BYnum_reg DESC// como eu gostaria que fosseSELECT dominio.nome,COUNT(dominio.id_dom) AS num_reg, COUNT(IF(dominio_cadastro.aceita = '1')) AS num_aceita FROMdominioINNER JOINdominio_cadastro ON (dominio.id_dom = dominio_cadastro.id_dom) GROUP BYdominio.nomeORDER BYnum_reg DESC Compartilhar este post Link para o post Compartilhar em outros sites
wxkj 0 Denunciar post Postado Março 12, 2004 porque você não usa WHERE dominio_cadastro.aceita = 1? Compartilhar este post Link para o post Compartilhar em outros sites
Nilton Bicalho 0 Denunciar post Postado Abril 30, 2010 Você quase acertou, faltou apenas uns argumentos pra completar. Eu utilizo muito o IF junto com COUNT, para resultados mais afinados e sem necessidade de programaçao posterior para filtragem dos dados. e por ser comandos nativos do MYSQL, é muito rapido o processamento. Vale a pena estudar esse e centenas de outros comandos MYSQL que ajudam em muito nossa vida. Depois que pega a manha você pensa: porque não fazia dessa forma antes, não teria tido L.E.R. hehehe SELECT dominio.nome, COUNT(dominio.id_dom) AS num_reg, COUNT(IF(dominio_cadastro.aceita = '1', 1, NULL)) AS num_aceita FROM dominio INNER JOIN dominio_cadastro ON (dominio.id_dom = dominio_cadastro.id_dom) GROUP BY dominio.nome ORDER BY num_reg DESC Compartilhar este post Link para o post Compartilhar em outros sites
Mário Monteiro 179 Denunciar post Postado Maio 1, 2010 Olá Nilton Bicalho, Obrigado por compartilhar seu conhecimento conosco. Continue contribuindo respondendo os tópicos mais recentes. Abraços Mário Monteiro Compartilhar este post Link para o post Compartilhar em outros sites