Como selecionar o número da linha no postgres.
Eu tentei isso:
select
row_number() over (ORDER BY cgcode_odc_mapping_id)as rownum,
cgcode_odc_mapping_id
from access_odc.access_odc_mapping_tb
order by cgcode_odc_mapping_id
e recebi este erro:
ERROR: erro de sintaxe em ou próximo de "over" LINHA 1: selecione row_number () em (ORDER BY cgcode_odc_mapping_id) como
Eu verifiquei estas páginas: Como mostrar os números das linhas na consulta PostgreSQL?
Esta é a minha consulta:
select row_number() over (ORDER BY cgcode_odc_mapping_id)as rownum,cgcode_odc_mapping_id from access_odc.access_odc_mapping_tb order by cgcode_odc_mapping_id
este é o erro:
ERROR: erro de sintaxe em ou próximo a "over" LINE 1: selecione row_number () over (ORDER BY cgcode_odc_mapping_id) como
sql
postgresql
window-functions
Maverick
fonte
fonte
Not Working
não nos diz nada em que possamos ajudar. Por favor, você poderia fornecer mensagens de erro e / ou qualquer outra informação relevante. Além disso, especifique a versão do PostgreSQL que você está usando.select version()
- não há (e nunca houve) uma versão 1.8Respostas:
Aqui está a seção relevante nos documentos.
PS Isso, na verdade, corresponde totalmente à resposta da pergunta referenciada.
fonte
OVER
cláusula:OVER (ORDER BY id)
. Caso contrário, o pedido não é garantido.over ()
), no entanto, se você tiver uma consulta externa, reorganize a ordem dos resultados, claro ref: stackoverflow.com/a / 3397149/32453 comentários