我有一张表,其中需要为3列的相同组合生成一个具有新ID的新列。例如:
col1 col2 col3 newcol
1 1 2 newid1
1 1 2 newid1
1 2 2 newid2
有人可以为我指出解决方案或提示我如何实现这一目标吗? 谢谢您的帮助!
答案 0 :(得分:2)
如果新值可以是连续的,则:
SELECT *,CONCAT('newid', DENSE_RANK() OVER(ORDER BY col1,col2,col3)) AS newcol
FROM tab