Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 如何添加一个列,该列具有递增的整数值,但它仅在另一列中的值更改时递增_Postgresql - Fatal编程技术网

Postgresql 如何添加一个列,该列具有递增的整数值,但它仅在另一列中的值更改时递增

Postgresql 如何添加一个列,该列具有递增的整数值,但它仅在另一列中的值更改时递增,postgresql,Postgresql,假设我有以下walletid的 walletid ab2 ab2 cd3 现在我想添加一个id将其更改为: id walletid 1 ab2 1 ab2 2 cd3 给你 SELECT wallets.walletid, wallets_distinct_ids.id FROM wallets INNER JOIN (SELECT walletid, row_number() OVER () as id FROM (SELECT DISTINCT

假设我有以下walletid的

walletid
ab2
ab2
cd3
现在我想添加一个id将其更改为:

id     walletid
1      ab2
1      ab2
2      cd3
给你

SELECT wallets.walletid, wallets_distinct_ids.id
FROM wallets INNER JOIN
(SELECT walletid, row_number() OVER () as id
 FROM 
 (SELECT DISTINCT walletid
  FROM wallets) AS wallets_distinct) AS wallets_distinct_ids
ON wallets.walletid =  wallets_distinct_ids.walletid
说明:

  • 首先,我们创建一个查询,选择
    walletid
  • 我们接受pt的查询。1并将其用作FROM子句中的源。现在,您可以添加窗口函数来计算行数。此查询为每个不同的
    walletid
    值分配不同的id
  • 现在我们可以在from子句中使用来自pt.2的查询作为源,将其与主表连接起来,为每个
    walletid

  • 您可以尝试使用update Trigger如何定义订单?