mysql - 通过另一个重复字段自动增加 id
问题描述
我的 MySQL 数据库中有两列。我需要通过关注另一个字段来自动递增
例子:
| id | orgId | createdAt |
--------------------------
| 1 | 1 | {VALUE} |
| 2 | 1 | {VALUE} |
| 3 | 1 | {VALUE} |
--------------------------
| 1 | 2 | {VALUE} |
| 2 | 2 | {VALUE} |
--------------------------
| 1 | 3 | {VALUE} |
| 2 | 3 | {VALUE} |
| 3 | 3 | {VALUE} |
| 4 | 3 | {VALUE} |
| 5 | 3 | {VALUE} |
--------------------------
我需要这样的东西。id 必须通过 follow (orgId) 字段自动递增
解决方案
您正在寻找row_number()
:
select row_number() over (partition by orgId order by orgId) as id,
t.*
from t;
出于您的目的,我不建议存储此值。反而:
向表中添加一个自动递增的 id。
使用上述查询的变体来计算您想要的序列号:
select row_number() over (partition by orgId order by <id col) as id,
推荐阅读
- javascript - AWS Cognito 返回未定义错误 async/await
- javascript - setState "TypeError: Cannot read property 'value' of undefined" 当使用不同的输入和一个 onChange 处理程序时
- dart - 如何使用一个动态高度行创建 3 行 Flutter 布局
- amazon-web-services - 第一次尝试后物联网板与 MQTT 协议断开连接
- javascript - 从持久存储重新水化后,Vuex getter 不会更新
- bash - 使用 sed 更改 bash 脚本中可能的关键字之间的文本
- c# - 如何将 Zip 文件创建进度异步报告到状态栏?
- jmeter - 告诉http请求不要让jmeter失败
- hive - 在 hive 中获取子字符串
- c# - 如何在 2018 年保护我的 .NET Core 2.1 代码免受逆向工程