gpt4 book ai didi

mysql - 删除重复行 GROUP BY 和 LIKE

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

我在数据库(mysql)中有一个字符串,如下所示:

{"StateId":73,"CallTime":"\/Date(1336365498912+0500)\/","CallId":"1336365489.14157","Target":"agi://127.0.0.1"}},"Profile":{"$type":"DataWriter.DbProfile, DataWriterObjects","Name":"DataService","Provider":"mssql","ConnectionString":"Data Source=localhost\\mydb; Database=mydb; User Id=sa; Password=admin;"}}

字符串是一个包含多个字段的 JSON 对象。问题是我有多个重复行,我想从数据库中删除它们。如果 CallIdStateId 相同但 CallTime 不同,则该行被视为重复。因此,首先我想获取 CallId 相同的那些行的重复项列表(GROUP BY),并忽略 CallTime 中的差异。下面的记录与第一条记录的CallTime不同,但CallId相同,因此被认为是重复的(基本上不需要考虑重复的CallTime) )

{"StateId":73,"CallTime":"\/Date(1336365498913+0500)\/","CallId":"1336365489.14157","Target":"agi://127.0.0.1"}},"Profile":{"$type":"DataWriter.DbProfile, DataWriterObjects","Name":"DataService","Provider":"mssql","ConnectionString":"Data Source=localhost\\mydb; Database=mydb; User Id=sa; Password=admin;"}}

那么我该如何进行 GROUP BY 呢?基本上,GROUP BY 中的所有内容都应该匹配,忽略 CallTime 值。

表结构为

mysql> describe Statements;

+------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+----------------+
| SequenceId | bigint(10) | NO | PRI | NULL | auto_increment |
| Profile | varchar(32) | YES | MUL | NULL | |
| CacheItem | text | NO | | NULL | |
+------------+-------------+------+-----+---------+----------------+

之后我想删除重复项。有人帮帮我吗?

最佳答案

我认为您的数据库不够原子,您可能必须将 JSON 字符串拆分为单独的字段

关于mysql - 删除重复行 GROUP BY 和 LIKE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10493525/

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