当前位置: 首页 > 知识库问答 >
问题:

在postgres中选择行号

宇文迪
2023-03-14

如何在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

我检查了以下页面:如何在PostgreSQL查询中显示行号?

这是我的问题:

 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 

这是错误:

错误:“over”行1处或附近出现语法错误:选择row\u number()over(按cgcode\u odc\u mapping\u id排序)作为

共有1个答案

越高峻
2023-03-14
SELECT tab.*,
    row_number() OVER () as rnum
  FROM tab;

这是文档中的相关部分。

P、 事实上,这与参考问题中的答案完全相符。

 类似资料:
  • 问题内容: 我正在使用以下SQL语句: 但是每次表获得新行时,查询结果都会不同。 我想念什么吗? 问题答案: 假设这是唯一的,并且新行总是具有更大的(以后)。 经过一番评论: 我 认为 您需要: 请注意 。这样,您就跳过每一秒每一个和附加(后下)行不改变选择为止。 另外,只要您为 _ 单个_ ()选择行,就将谓词拉入子查询,即可达到相同的效果(单个用户的稳定选择)。两者都不需要。 该子查询中的条款

  • 问题内容: 我在postgres数据库中有一个时间戳字段。我想选择上个月内发生的所有日期。因此,类似于从表中选择 ,其中timestamp>(当前时间戳-1个月)。 问题答案:

  • 问题内容: 在Postgres 9.5中进行UPSERT时,是否可以在INSERT成功时返回null并在CONFLICT上返回某些内容? 我想要这样的事情: 选择user_id的唯一目的是在冲突时返回某些内容(除了null以外的任何内容),而无需写入磁盘。我知道可以使用ON CONFLICT DO UPDATE来完成,但这将涉及写入磁盘。 问题答案: 您可以使用CTE: DBFiddle演示

  • 问题内容: 我有以下数据: 如何在Postgres中编写SQL语句以选择此数据为多维数组,即: 我以前在Postgres中已经见过这种数组的用法,但是不知道如何从表中选择数据到这种数组格式。 假设这里所有列都是。 问题答案: 您不能用于生成多维数组,至少不能用于或更高版本。 (但是即将发布的Postgres 9.5附带了该罐的新变体!) 您从@Matt Ball的查询中得到的是一个记录数组()。

  • 我有一个具有多个模式的postgres数据库。当我使用从shell连接到数据库并运行时,它使用默认的连接模式,这是公共的。是否有可以指定的标志,或者如何更改架构?

  • 我试图在postgres表的numeric datatype列中插入一个日期值 在上面的查询中,col1是numeric类型。 我还可以使用value()子句插入一些值,使用select语句插入一些值吗?例如: 在上表中:1。col1即将到来序列2。col2和col3来自两个表的连接,即表B和表C 3。col4和col5是硬编码值 如何在一个查询中实现这一点? 通过两个表的连接进行插入,可按如下方