ae pessoal, estou precisando fazer uma consulta da seguinte situação:
por exemplo uma tabela ocorrência:
id id_usuario ocorrência
1 1 A
2 1 A
3 1 B
4 2 C
5 2 C
6 3 A
7 3 A
8 3 A
9 1 C
eu precisava que a consulta me retornasse apenas o id do usuario que tiver a menor quantidade de ocorrências nesta tabela… Aqui neste caso seria o id=2
Mas caso tivesse outro usuário com somente uma ocorrência teria que saber qual pegar.
[]s
G
globsglobs
Zeed01,
e ai cara, blz?
eu fiz esta consulta assim:
select id_usuario, count(*) as RESID from tabela_qualquer group by id_usuario…
blz, aqui me traz o count de cada id que aparece nesta tabela…
mais ou menos assim:
1 4
2 2
3 3
neste caso eu queria que viesse apesas o id 2…
mesmo que em hipotese viesse varias quantidade de ids iguais… na aplicação, eu preciso pegar apenas um… neste caso é por escolha aleatoria se vier varios… mas caso venha o que tiver menor ocorrencia eu precisava deste fulano… ta f****
nem faço ideia de como fazer isso
G
globsglobs
Opaaaa
Zeed01,
pra mim ficou perfeito… pq na verdade eu não precisava filtrar por tipo de ocorrencia, mas so o usuario que tivesse menor numero de ocorrencias registradas para ele… Pq esta tabela pra mim é um delegação de responsabilidade… qdo o usuario delegar uma ocoorencia, era so setar para quem tivesse com a lista menor…
vlwwwwwwwwww!
Zeed01
Boa tarde Galera !
globsglobs
Se no caso de ter mais de um id com a mesma qtde de registros serve qualquer um, não vejo onde esta o problema.
Você vai utilizar o resultado desse select onde ? Em uma classe Java ?
Se for é só pegar a primeira linha do recordset que retorna a consulta… se você acrescentar na sua query o order by count(*) asc, vai ter sempre na primeira linha o usuario que tem menos ocorrencias…
Bom… tem mais uma coisa que pode fazer caso precise que volte somente UM registro, sendo o id do usuario o que tem menos ocorrencias:
Tenta isso:
select * from
(select id_usuario, count(*) as RESID
from tabela_qualquer
group by id_usuario
order by RESID asc) t1
where rownum <= 1
Nesse caso rownum sei que existe no oracle, no sqlserver, se não estou enganado, existe mas tem outro nome… ou seja, vai estar amarrado ao banco que estiver usando.