[RESOLVIDO]Duvida em Select com Count no Oracle

6 respostas
P

Opa :smiley:

Tem como eu passar no Where um count(coluna)? Ex.:

select * from run where count(rn_test_id) = 1

Abs

6 Respostas

R
select * from run where rownum = 1

:wink:

P

achei outra solucao:

select RN_TEST_ID from run having count(rn_test_id) = 1 group by rn_test_id
C

rlazoti:
select * from run where rownum = 1

:wink:

isso não garante que a tabela tenha somente um registro
oq isso garante é que será retornado o primeiro registro da tabela…
rownum é perigoso
se possível, fuja dele

F

clone_zealot:
rlazoti:
select * from run where rownum = 1

:wink:

isso não garante que a tabela tenha somente um registro
oq isso garante é que será retornado o primeiro registro da tabela…
rownum é perigoso
se possível, fuja dele

Não vejo perigo algum, o rownum no Oracle serve pra fazer o que o TOP faz no SqlServer, MySQL e afins, nao vejo problema em usa-lo, desde que saiba o que se quer.

C

se usado como o top do SQLServer, limit do Postgres, realmente não tem perigo mesmo
mas já vi (mais de uma vez) pessoal usando ele como garantia de unicidade

pessoal confunde o “PODE ser usado como único” com “COM CERTEZA é único” =/

edit: é o fato de ele ser tratado como se fosse uma coluna(rownum = 5), e não como uma palavra reservada (top 5, limit 9) atrapalha ainda mais percebermos esse tipo de comportamento… é bem complicado tu olhar uma cláusula de umas 15 linhas de texto, e perceber o rownum lá no meio… já o limit e o top, por serem da sintaxe, ficam mais evidentes… e nem digo pelo text-highligth, mas é pelo fato de eles estarem em locais específicos…

F

clone_zealot:
se usado como o top do SQLServer, limit do Postgres, realmente não tem perigo mesmo
mas já vi (mais de uma vez) pessoal usando ele como garantia de unicidade

pessoal confunde o “PODE ser usado como único” com “COM CERTEZA é único” =/

edit: é o fato de ele ser tratado como se fosse uma coluna(rownum = 5), e não como uma palavra reservada (top 5, limit 9) atrapalha ainda mais percebermos esse tipo de comportamento… é bem complicado tu olhar uma cláusula de umas 15 linhas de texto, e perceber o rownum lá no meio… já o limit e o top, por serem da sintaxe, ficam mais evidentes… e nem digo pelo text-highligth, mas é pelo fato de eles estarem em locais específicos…

Realmente se o cara tiver fazendo isso ai tem que morrer mesmo.

Tem tambem o rowid, este sim unico, mas este ja são outros 500, nao vejo muito uso pra ele, eu pelo menos nunca precisei usar.

Criado 30 de junho de 2009
Ultima resposta 30 de jun. de 2009
Respostas 6
Participantes 4