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

标签 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 BY col1,col2,col3)) AS newcol
FROM tab

DBFiddle Demo

关于mysql - 基于组合键在新列中添加 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51233408/

相关文章:

php - Mysql内连接where值在另一个表中

MySQL 复制错误 (1062)

即使存在引用,MySQL 外键错误

mysql - 如果没有模型文件,该表如何更新?

php - 随机但均匀地将 N 人分组? (姓名和性别)

python - 为什么pymysql(0.9.2)调用存储过程,有时获取输出参数为None?

mysql - 为什么 mySql 不重新识别表字段列表中的列?

php - 分号中断 mysql_query

mysql - 限制最大准备语句数

php - 无法从数据库在 joomla 中创建 super 用户