Ir para conteúdo

POWERED BY:

Arquivado

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

m@dDog

COUNT(*) com agrupamento (GROUP BY)

Recommended Posts

Beleza?

 

Presciso contar todos os registros da tabela de "pedidos".

No meu SELECT existe alguns LEFT JOINs, algumas condições na clausula WHERE e um GROUP BY por `Pedido`.`id`

Quando tento executar um COUNT(*), o retorno não é o total de registros da tabela e sim o total de registros separados pelo agrupamento de `Pedido`.`id`

Ex: COUNT

6

8

18

8

 

100 Vezes

 

Se eu tirar o GROUP BY, traz todos os registros, mas traz sem o agrupamento e o retorno acaba sendo um número muito grande, que eu sei que não é o correto.

Como faço para que o sql retorne somente o total de registros?

Ex: COUNT

100

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi, tenta isso:

Funciona no ASP:

<%

'Seleciona contando quantos registros existes

sql = "SELECT count(qualquer_campo_nao_nulo) as total_registros FROM nome_da_tabela"

Set resultado = conn.Execute(sql)

%>

 

E para Exibir, use:

<%response.write resultado("total_registros")%>

 

Espero ter ajudado!

Abraços!

Fábio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já tentei Fabio, mas não funciona devido ao GROUP BY.

 

Até executa, mas como eu falei, traz os resultados agrupados.

 

Obrigado Fabio.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pra q usar count qdo se pode usar uma propriedade da tabela que se chama tabela.recordCount!

Estou usando MySQL com PHP.

 

da pra fazer o recordCount?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode tentar

 

selec equipe, count(*) total_servicos

from tabela

group by equipe

with rollup

 

mas pelo q você descreveu, acho q você vai ter q decompor a query em subconsultas para obter o resultado correto

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.