gpt4 book ai didi

mysql - SQL - 在列中选择相同的值然后重命名它们

转载 作者:行者123 更新时间:2023-11-29 21:52:23 28 4
gpt4 key购买 nike

是否可以在 SQL 中选择列中的值然后重命名重复的值? (假设最多只有一个可能的重复项)

假设我有一张 table ..

| id | name  | 0or1_id |
| 0 | Eddy | 0 |
| 1 | Allan | 0 |
| 2 | Eddy | 1 |
| 3 | Allan | 1 |

我可以做什么查询来使它像这样?

| id | name       | 0or1_id |
| 0 | Eddy | 0 |
| 1 | Allan | 0 |
| 2 | Eddy-copy | 1 |
| 3 | Allan-copy | 1 |

最佳答案

假设您想实际更改数据,请使用update:

update t join
(select name, count(*) as cnt, min(id) as minid
from t
group by name
having cnt > 1
) tt
on t.name = tt.name and t.id <> tt.minid
set name = concat(name, '-copy');

如果您只想要一个select,那么逻辑非常相似。

关于mysql - SQL - 在列中选择相同的值然后重命名它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33501524/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com