Re: Contador/Sequenciador na consulta SQL

View: New views
4 Messages — Rating Filter:   Alert me  

Re: Contador/Sequenciador na consulta SQL

by Joao Cosme de Oliveira Junior-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

select generate_series(1,(select count(*) from sua_tabeça)), nome  from  sua_tabela


ou crie uma sequence e chame  o nextval....


João Cosme de Oliveira Júnior

Seja inteligente, use Software-livre!!!
LPI Certified
LPI000185554


Em 05/11/2009 às 15:21 horas, pgbr-geral@... escreveu:
Olá.

Estou procurando nas funções do nosso amado Postgresql, algo que me retorne automaticamente uma sequencia numérica como uma coluna de retorno do SQL.
exemplo:

Coluna
sequenciada     
1                  João
2                  Ana
3                  Maria

Algo do tipo
select "record_position()", nome from ....

Não achei no manual, nem no histórioco da lista, ou pelo menos não consegui identificar algo similar.

Obrigado desde já

-------------------------------------------------------------
Rudinei Dias



"Esta mensagem do SERVIÇO FEDERAL DE PROCESSAMENTO DE DADOS (SERPRO), empresa pública federal regida pelo disposto na Lei Federal nº 5.615, é enviada exclusivamente a seu destinatário e pode conter informações confidenciais, protegidas por sigilo profissional. Sua utilização desautorizada é ilegal e sujeita o infrator às penas da lei. Se você a recebeu indevidamente, queira, por gentileza, reenviá-la ao emitente, esclarecendo o equívoco."

"This message from SERVIÇO FEDERAL DE PROCESSAMENTO DE DADOS (SERPRO) -- a government company established under Brazilian law (5.615/70) -- is directed exclusively to its addressee and may contain confidential data, protected under professional secrecy rules. Its unauthorized use is illegal and may subject the transgressor to the law's penalties. If you're not the addressee, please send it back, elucidating the failure."

_______________________________________________
pgbr-geral mailing list
pgbr-geral@...
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: Contador/Sequenciador na consulta SQL

by André Volpato :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Joao Cosme de Oliveira Junior escreveu:
> select generate_series(1,(select count(*) from sua_tabeça)), nome  
> from  sua_tabela
>

Grande Jão!
Essa query acima vai fazer um cross join, e pode não ser o resultado
esperado...


>
> ou crie uma sequence e chame  o nextval....
>

É uma saída !

Para um tratado completo sobre o tema, na versão 8.3 pra trás, veja aqui [1]

Se você já estiver na 8.4, pesquise sobre window functions, já tem algo
pronto para isso.


[1]
http://www.depesz.com/index.php/2007/08/17/rownum-anyone-cumulative-sum-in-one-query/


--

[]´s, André Volpato



_______________________________________________
pgbr-geral mailing list
pgbr-geral@...
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: Contador/Sequenciador na consulta SQL

by Leandro DUTRA :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

2009/11/5 André Volpato <andre.volpato@...>:
> Essa query acima vai fazer um cross join

Para quem boiou como eu, ainda que temporariamente, a consulta
referida resultaria num produto cartesiano… vulgo junção cruzada, mas
suspeito que esta última não seja uma boa tradução.


--
skype:leandro.gfc.dutra?chat      Yahoo!: ymsgr:sendIM?lgcdutra
+55 (11) 3854 7191              gTalk: xmpp:leandrod@...
+55 (11) 9406 7191        ICQ/AIM: aim:GoIM?screenname=61287803
BRAZIL GMT-3  MSN: msnim:chat?contact=leandro@...
Sent from Sao Paulo, SP, Brazil
_______________________________________________
pgbr-geral mailing list
pgbr-geral@...
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: Contador/Sequenciador na consulta SQL

by Rudinei Dias-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Agradeço a todos.
Acabei usando sequence temporária, que se adequou melhor ao meu objetivo.


2009/11/7 Leandro DUTRA <leandro.gfc.dutra@...>
2009/11/5 André Volpato <andre.volpato@...>:
> Essa query acima vai fazer um cross join

Para quem boiou como eu, ainda que temporariamente, a consulta
referida resultaria num produto cartesiano… vulgo junção cruzada, mas
suspeito que esta última não seja uma boa tradução.


--
skype:leandro.gfc.dutra?chat      Yahoo!: ymsgr:sendIM?lgcdutra
+55 (11) 3854 7191              gTalk: xmpp%3Aleandrod@...
+55 (11) 9406 7191        ICQ/AIM: aim:GoIM?screenname=61287803
BRAZIL GMT-3  MSN: msnim:chat?contact=leandro@...
Sent from Sao Paulo, SP, Brazil
_______________________________________________



--
-------------------------------------------------------------
Rudinei Dias


_______________________________________________
pgbr-geral mailing list
pgbr-geral@...
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral