mysql - 如何更新mysql中所有重复记录的列

标签 mysql sql database

我在 MYSQL 中有一个包含这些列和数据的表。

  • id = 姓名
  • 1 = 测试
  • 2 = 测试
  • 3 = 测试
  • 4 = 好的
  • 5 = 好的
  • 6 = 好的
  • 7 = 是
  • 8=否

如何像这样自动更新“名称”列?

  • id = 姓名
  • 1 = 测试
  • 2 = 测试1
  • 3 = 测试2
  • 4 = 好的
  • 5 = 好的1
  • 6 = 好的2
  • 7 = 是
  • 8=否

最佳答案

尝试这样的事情:

update a set a.name=a.name+cast(rownum-1 as varchar) from #original a 
join 
(select *, row_number() OVER (partition by name ORDER BY name, id) rownum from #original)b
on a.id=b.id
where rownum<>1

关于mysql - 如何更新mysql中所有重复记录的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49784534/

相关文章:

数据库原子性一致性

MySQL 日期时间范围不起作用

MySQL 表主索引 - 自动编号与两列索引

mysql - 如何计算同一张表中的子评论

sql - postgresql 查询中的分区给出不明确的结果

mysql - 加入 "not there"条件

mysql - PDO MySQL 只需要一行吗?

php - 如何将php变量插入到oracle表中?

java - 更新语句只运行一次。?

python - MySQL,我应该保持连接还是在需要时连接?