GARANTIR DESCONTO

Fórum Problemas com COUNT #480574

28/05/2014

0

Estou estudando BD e criando bancos e tabelas para estudo, eis que me deparo com o COUNT que promete contar valores gerando na consulta o resultado, e já consegui fazer algumas consultas simples quando meu resultado só vai gerar uma linha, mas se eu precisar de resultados em mais de uma linha não róla, a consulta sempre gera uma tabela resposta de apenas uma linha.

select c.nome, count(cf.comida) from casa c join comidasfav cf on id_pessoa=quem_pref;

A consulta que estou tentando fazer é essa, tenho uma tabela de nome "casa" e uma de nome "comidasfav" onde eu relaciono o nome das pessoas da tabela casa com as comidas que elas preferem na tabela comidasfav.

Na minha cabeça o resultado deveria ser o nome dos moradores e ao lado a quantidade de comidas que tem associadas a eles, porém só aparece uma linha com o nome de um morador.

Tem algo errado na consulta?

Desde já agradeço a ajuda...
Alan Santos

Alan Santos

Responder

Posts

29/05/2014

Claudio Lopes

Bom cara pelo que entendi, vou tentar te explicar usanto apenas uma tabela


suponto que essa tabela tem exatamente essas colunas (vide imagem) [img]http://arquivo.devmedia.com.br/forum/imagem/340939-20140529-190128.png[/img]


faria assim:
SELECT
	NOME
	, COMIDA
	, COUNT(*)
FROM
	SUA_TABELA
GROUP BY
	NOME
	, COMIDA



O reaultado seria

a - feijao - 3
a - arroz - 3
b - feijao - 3
b - arroz - 3


você está contando seu resultado pelas colunas nome e comida (agrupando) o mesmo acontece com o sum()

Responder

Gostei + 0

29/05/2014

Claudio Lopes

ahh eu vacilei colocando a coluna qtde, isso vai te servir para a soma, mas o count(*) apenas para exibir a quantidade de linhas de nome e comida .
Responder

Gostei + 0

30/05/2014

Alex Lekao

ja tive alguns problemas com agrupamentos no MySQL, como desconheco a estrutura, meio que abandonei. rsrsr

mas pelo que o Din sugeriu ja deveria funcionar.

seria apenas colocar um group by na ultima linha com o nome do campo c.nome ou mais algum que tiver na relacao de campos no select.

Espero ter ajudado.

Abraco.

Alex - Lekao
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar