gpt4 book ai didi

mysql - 是否可以制作一个脚本来更新具有相同表但不同逻辑的值的行?

转载 作者:行者123 更新时间:2023-11-29 02:57:25 25 4
gpt4 key购买 nike

我有一个这样的表,里面有数据:

+---------------------+---------------------+------+-----+---------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------------+---------------------+------+-----+---------------------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| institution_id | int(11) | NO | MUL | NULL | |
| filename | varchar(200) | NO | | NULL | |
| name | varchar(200) | NO | | NULL | |
| md5 | varchar(32) | NO | | NULL | |
| version | varchar(200) | NO | | | |
| app_order | tinyint(1) unsigned | NO | | 0 | |
| active | tinyint(1) unsigned | NO | | 0 | |
| availability_oem | varchar(25) | NO | | Not Available | |
| availability_stb | varchar(25) | NO | | Not Available | |
| availability_retail | varchar(25) | NO | | Not Available | |
+---------------------+---------------------+------+-----+---------------------+----------------+

现在有一个唯一约束(institution_id + name)。我仍然希望有唯一约束,但只是在“名称”列上,我希望现在具有相同名称但不同 institution_id 的行被删除,直到只有一行具有该名称,因此名称保持唯一。示例:

institution_id | name   | other_fields....
1 | jose | ..
2 | jose | ..
3 | maria | ..
1 | maria | ..
4 | pedro | ..
5 | mateus | ..
5 | jose | ..

因此在该脚本运行之后,它将只保留一个 jose、一个 maria、一个 pedro 和一个 mateus,其中哪一个并不重要,但如果我可以选择它会很好。

最佳答案

可以得到uniq names分组结果:

SELECT id from table GROUP BY name;

现在您可以删除所有内容,除非这些 ID:

DELETE FROM table WHERE id NOT IN (SELECT id from table GROUP BY name)

希望对你有帮助

关于mysql - 是否可以制作一个脚本来更新具有相同表但不同逻辑的值的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29015089/

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