PostgreSQL语句将行中的静态字段更改为按顺序编号

PostgreSQL语句将行中的静态字段更改为按顺序编号,sql,postgresql,Sql,Postgresql,我的数据如下: App_id Type 123 Dependent 987 Dependent 456 Dependent 我想在PostgreSQL中编写一个CASE语句,以便它将反映为以下内容: App_id Type 123 1 987 2 456 3 *表中有多个其他列,但此特定数据需要表示为累积计数(当类型=依赖时) 当值相同(如依赖)且多次反映时,我不确定如何进行此操作。您可以使用行号()通过这种

我的数据如下:

App_id    Type
123       Dependent
987       Dependent
456       Dependent
我想在PostgreSQL中编写一个CASE语句,以便它将反映为以下内容:

App_id    Type
123       1
987       2
456       3
*表中有多个其他列,但此特定数据需要表示为累积计数(当类型=依赖时)


当值相同(如依赖)且多次反映时,我不确定如何进行此操作。

您可以使用
行号()
通过这种方式,您将获得类型的唯一行号:

select t.app_id, t.type, 
       row_number() over (partition by t.type order by t.app_id) as rowno_type
from table t;

您可以使用
row\u number()
通过这种方式,您将获得类型的唯一行号:

select t.app_id, t.type, 
       row_number() over (partition by t.type order by t.app_id) as rowno_type
from table t;

你需要以某种方式定义行顺序。这意味着什么?我该怎么做?例如,你如何决定哪个应用程序id的Type=2?请记住,默认情况下,表是无序的。这就是问题所在-我只希望它累积计数。您需要以某种方式定义行顺序。这意味着什么?我该如何处理?例如,您如何决定哪个应用程序id的Type=2?请记住,默认情况下,表格是无序的。这就是问题所在——我只想让它累积起来。太好了!非常感谢。伟大的非常感谢。