mysql - mysql - 根据复合键在新列中添加 id
问题描述
我有一个表,其中对于 3 列的相同组合,需要生成具有新 id 的新列。例如:
col1 col2 col3 newcol
1 1 2 newid1
1 1 2 newid1
1 2 2 newid2
有人可以指出我的解决方案或提示我如何实现这一目标吗?谢谢您的帮助!
解决方案
如果新值可以是连续的,那么:
SELECT *,CONCAT('newid', DENSE_RANK() OVER(ORDER BY col1,col2,col3)) AS newcol
FROM tab
推荐阅读
- typescript - 使用参数或泛型来约束另一个参数的类型?
- javascript - 带有 2 个下拉菜单的 JavaScript 单位转换器
- pycharm - 如何阻止pycharm在虚拟环境文件夹中搜索?
- html - 如何在页面的底角放置按钮并使其具有响应性?
- python - 根据列标题中的单词将多个文件中的列设为最后
- android - 如何在不使用任何 View 类的情况下将分页库与 Room Dao 一起使用
- vue.js - 如何为动态创建的 vue 组件使用插槽
- c++ - 使用额外的变量使计算更容易理解 - (多少)我减慢了我的代码?
- javascript - 尝试查找所有 HTML 注释时出现太多递归错误
- python - Python - Dataframes 循环和执行 API 调用