Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql-基于复合键在新列中添加id_Mysql - Fatal编程技术网

mysql-基于复合键在新列中添加id

mysql-基于复合键在新列中添加id,mysql,Mysql,我有一个表,其中对于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

我有一个表,其中对于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

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

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