首页 > 解决方案 > mysql - 根据复合键在新列中添加 id

问题描述

我有一个表,其中对于 3 列的相同组合,需要生成具有新 id 的新列。例如:

col1   col2   col3   newcol

1      1      2      newid1
1      1      2      newid1
1      2      2      newid2

有人可以指出我的解决方案或提示我如何实现这一目标吗?谢谢您的帮助!

标签: mysql

解决方案


如果新值可以是连续的,那么:

SELECT *,CONCAT('newid', DENSE_RANK() OVER(ORDER BY col1,col2,col3)) AS newcol
FROM tab

DBFiddle 演示


推荐阅读