Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ConteudoAnimal.com.br

Somatório de somatorio de números de registros no MySQL

Recommended Posts

Ola,

 

Eu preciso somar internamente o numero de 2 tabelas e somar os resulados

tipo tabela1 tem 25 registros
tabela2 tem 50 registros

O resultado que procuro é 75

 

Eu sei somar individualmente SELECT COUNT(id) FROM tabela1

 

Como somar os resultados parciais ??

Agradeço a atenção

Marcos
www.conteudoanimal.com.br

Compartilhar este post


Link para o post
Compartilhar em outros sites


select sum(qtd)

from

select 'tabela1' , count(*) qtd from tabela1

union

select 'tabela2' , count(*) qtd from tabela2

union

...

) virtual

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acredito que o certo seria exatamente desta forma, realizar a contagem nos campos de chave primária de cada tabela, mas desconheço uma forma dinâmica que faça isso em cada tabela.

 

Talvez some com a Query abaixo, mas na sub-query as consultas devem ser adaptadas e unidas manualmente.

SELECT SUM(quantidade) AS total
FROM (
  SELECT COUNT(id) AS quantidade FROM tabela1
  UNION
  SELECT COUNT(id) AS quantidade FROM tabela2
) AS v

Bom, esta pode ser uma solução parcial.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu aprendi fazer isso com o @Motta.

 

No exemplo dele, faltou abrir o parêntese depois do FROM, e ele deixou um UNION, antes de fechar a sub-query, seguido de reticências, exemplificando que pode dar continuidade com mais "SELECTs".

 

Mas basicamente é a mesma coisa, só varia da interpretação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

lokaodomau

:Esse exemplo que você escreveu:

 

  1. SELECT SUM(quantidade) AS total
  2. FROM (
  3. SELECT COUNT(id) AS quantidade FROM tabela1

É o caminho para eu fazer uma consulta (MySQL) que traga todos os valores definidos no Where MAIS o somatório dos valores de uma determinada coluna ??? Não estou conseguindo acertar o uso do SELECT SUM, pois ele se limita a trazer o somatório, mas com apenas uma linha de resultado...

Vlw pela força...

Compartilhar este post


Link para o post
Compartilhar em outros sites

É, realmente, a consulta que eu fiz não está 100%. Vou utilizar o exemplo do Motta, que atende melhor.

SELECT SUM(qtd) somaTotal, tabela
from
(
SELECT 'tabela1' tabela , count(*) qtd from tabela1
UNION
SELECT 'tabela2' tabela , count(*) qtd from tabela2
UNION
...
) virtual
GROUP BY tabela

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.