{"id":468,"date":"2023-05-16T18:38:45","date_gmt":"2023-05-16T18:38:45","guid":{"rendered":"http:\/\/jplatz.com.br\/syntax\/?p=468"},"modified":"2023-05-16T18:40:30","modified_gmt":"2023-05-16T18:40:30","slug":"mysql-contando-registros-com-multiplas-condicoes","status":"publish","type":"post","link":"https:\/\/jplatz.com.br\/syntax\/2023\/05\/16\/mysql-contando-registros-com-multiplas-condicoes\/","title":{"rendered":"MySQL Contando Registros com M\u00faltiplas Condi\u00e7\u00f5es"},"content":{"rendered":"\n<pre class=\"wp-block-code\"><code>SELECT COUNT(id) AS count_total\n     , SUM(IF(message = 'content1',1,0)) AS count_message1\n     , SUM(CASE \n              WHEN message LIKE 'content1' THEN 1 ELSE 0\n           END) AS count_message1a\nFROM mytable;<\/code><\/pre>\n\n\n\n<p>Sempre que precisamos observar e analisar dados podemos fazer uso de comandos mais avan\u00e7ados de <strong>SQL<\/strong>.<\/p>\n\n\n\n<p>\u00c9 claro que este meu exemplo est\u00e1 longe de ser um <strong>SQL<\/strong> complexo, mas sempre \u00e9 bom deixar registrado as possibilidades a partir de um ponto simples tamb\u00e9m.<\/p>\n\n\n\n<p>Neste caso estou fazendo uma contagem total de registros da tabela com o <strong>COUNT(id)<\/strong> simples, como nenhuma condi\u00e7\u00e3o foi posta no <strong>WHERE<\/strong> ser\u00e3o contados todos os registros.<\/p>\n\n\n\n<p>Ent\u00e3o quero comparar lado a lado este total de registros com o total de mensagens do tipo 1. Para obter esta contagem parcial precisamos combinar o <strong>SUM()<\/strong> com um <strong>IF() <\/strong>interno condicionando a contagem apenas para as mensagens com o conte\u00fado que combinem com o que eu quero.<\/p>\n\n\n\n<p>Opcionalmente ao <strong>IF()<\/strong> podemos utilizar a instru\u00e7\u00e3o <strong>CASE()<\/strong>; o resultado ser\u00e1 o mesmo, apenas estamos utilizando uma sintaxe diferente.<\/p>\n\n\n\n<p>\u00c9 claro que a instru\u00e7\u00e3o <strong>CASE()<\/strong> vai ter melhor aplicabilidade em determinadas situa\u00e7\u00f5es, assim como o <strong>IF()<\/strong> tamb\u00e9m tem sua aplica\u00e7\u00e3o para funcionalidades de menor complexidade.<\/p>\n\n\n\n<p>Fica a seu crit\u00e9rio qual sintaxe aplicar; este \u00e9 s\u00f3 o ponta-p\u00e9 inicial na utiliza\u00e7\u00e3o de <strong>SQL<\/strong> para an\u00e1lise de dados.<\/p>\n\n\n\n<p><strong><em>Souriez s&#8217;il vous plait!<\/em><\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sempre que precisamos observar e analisar dados podemos fazer uso de comandos mais avan\u00e7ados de SQL. \u00c9 claro que este meu exemplo est\u00e1 longe de ser um SQL complexo, mas sempre \u00e9 bom deixar registrado as possibilidades a partir de um ponto simples tamb\u00e9m. Neste caso estou fazendo uma contagem total de registros da tabela [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19,23,50],"tags":[233,234,231,190,193,232],"class_list":["post-468","post","type-post","status-publish","format-standard","hentry","category-database","category-mysql","category-sql","tag-case","tag-count-2","tag-if-2","tag-mysql","tag-sql","tag-sum"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/jplatz.com.br\/syntax\/wp-json\/wp\/v2\/posts\/468","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jplatz.com.br\/syntax\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jplatz.com.br\/syntax\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jplatz.com.br\/syntax\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jplatz.com.br\/syntax\/wp-json\/wp\/v2\/comments?post=468"}],"version-history":[{"count":2,"href":"https:\/\/jplatz.com.br\/syntax\/wp-json\/wp\/v2\/posts\/468\/revisions"}],"predecessor-version":[{"id":471,"href":"https:\/\/jplatz.com.br\/syntax\/wp-json\/wp\/v2\/posts\/468\/revisions\/471"}],"wp:attachment":[{"href":"https:\/\/jplatz.com.br\/syntax\/wp-json\/wp\/v2\/media?parent=468"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jplatz.com.br\/syntax\/wp-json\/wp\/v2\/categories?post=468"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jplatz.com.br\/syntax\/wp-json\/wp\/v2\/tags?post=468"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}