thiago.correa 28 de mai. de 2009
select id_func from integrante group by id_func order by count ( id_func ) desc
ataufo 28 de mai. de 2009
Valeu a sugestão, mas não funcionou não, selecionou todos os funcionários, e eu preciso do id_func que mais aparece na tabela Integrante
robinsonbsilva 28 de mai. de 2009
Jovem, ou vc faz um functtion pg/sql ou trata no código.
Tentei fazer uma sub-query para filtrar os maiores, mas não rola…até mesmo usando o HAVING
select count(id_func), id_func
from integrante
group by id_func
order by 2
pablosaraiva 28 de mai. de 2009
ataufo 28 de mai. de 2009
Pois é eu também tentei fazer uma subquery, algo do tipo:
select id_func from integrante where MAX© IN (select count(id_func) as C, id_func from integrante group by id_func)
ERROR: column “c” does not exist
select id_func from integrante where id_func IN (select count(id_func) as C, id_func from integrante group by id_func)
ERROR: subquery has too many columns
Não é possivel que não exista uma Query pra isso !!! Alguém tem alguma idéia ?
thiago.correa 28 de mai. de 2009
select id_func from integrante group by id_func order by count ( id_func ) desc limit 1
pablosaraiva 28 de mai. de 2009
Já está respondido. Olhe acima!
ataufo 28 de mai. de 2009
É não sei como funciona esse "desc limit 1 " vou ter que pesquisar. Mas funcionou, obrigado !
LucianaVMCO 31 de mai. de 2010
O “desc limit 1” ordena a sua coluna count() em modo decrescente e pega o primeiro resultado dela.
Assim vc pode pegar TBM o antepenultimo “desc limit 2” e assim por diante…
Vc limita a quantidade de resultados que vão aparecer no seu resultado.
:lol: