2012-08-14 6 views
62

ポストグラムで行番号を選択する方法。ポストグラムで行番号を選択

私はこの試みた:

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 

をして、このエラーを得た:

 
ERROR: syntax error at or near "over" 
LINE 1: select row_number() over (ORDER BY cgcode_odc_mapping_id)as 

私はこれらのページをチェックしていますHow to show row numbers in PostgreSQL query?


は、これが私のクエリです:

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 

これがエラーである:

ERROR:構文エラーまたはその付近 "上" LINE 1:選択ROW_NUMBER()(cgcode_odc_mapping_id BY ORDER)上

+3

「作業していません」は、私たちが助けることができるものは何も教えてくれません。エラーメッセージやその他の関連情報を伝えてください。また、使用しているPostgreSQLのバージョンを指定してください。 – MatBailie

+0

シーケンスが1つ必要ですか? – FabianoLothor

+0

[PostgreSQLのクエリで行番号を表示するにはどうすればいいですか?](http://stackoverflow.com/questions/3397121/how-to-showrow-numbers-in-postgresql-query) – vyegorov

答えて

115
SELECT tab.*, 
    row_number() OVER() as rnum 
    FROM tab; 
Here's

としての関連するセクションdocs。

P.S.これは、実際には、参照されている質問の回答と完全に一致しています。

+11

'OVER'節にはオーダーを指定する必要があります:' OVER(ORDER BY id) '。それ以外の場合、注文は保証されません。 – AlexM

+2

@pumbo row_number()は "結果セットの行番号"を返します(つまり、 'over()'を指定すると常に1 2 3 4 ...)ですが、外側のクエリがある場合は、 :http://stackoverflow.com/a/3397149/32453コメント – rogerdpack

関連する問題