在postgres中选择行号

时间:2012-08-14 12:25:35

标签: sql postgresql window-functions

如何在postgres中选择行号。

我试过了:

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 

这是错误:

错误:语法错误处于或接近“超过”第1行:选择row_number()over(ORDER BY cgcode_odc_mapping_id)为

1 个答案:

答案 0 :(得分:153)

SELECT tab.*,
    row_number() OVER () as rnum
  FROM tab;

Here's文档中的相关部分。

P.S。事实上,这与参考问题中的答案完全匹配。