首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何添加一列,该列具有递增的整数值,但仅当另一列中的值发生更改时才递增

如何添加一列,该列具有递增的整数值,但仅当另一列中的值发生更改时才递增
EN

Stack Overflow用户
提问于 2018-07-05 19:33:11
回答 1查看 20关注 0票数 0

假设我有以下walletid

代码语言:javascript
复制
walletid
ab2
ab2
cd3

现在,我想添加一个id,将其更改为:

代码语言:javascript
复制
id     walletid
1      ab2
1      ab2
2      cd3
EN

回答 1

Stack Overflow用户

发布于 2018-07-05 20:04:06

这就是你要的

代码语言:javascript
复制
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

  • We的distinct值从
  1. 中获取查询。1,并将其用作FROM子句中的源。现在,您可以添加窗口函数来计算行数。此查询为每个distinct walletid值分配distinct id。现在,我们可以使用来自pt.2的查询作为
  2. 子句中的源,将其与主表连接起来,为每个from分配distinct id
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51190309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档