mysql合并行功能

时间:2018-10-08 09:36:35

标签: mysql merge

我在mysql中有一个表,可以保存数千个电话。一些电话接线员以多个记录发送电话。电话被打乱,必须首先按呼叫者,被叫和日期排序。

这是一个例子

    Id|Caller|Called|Date|Length|CallerImei|CallerImsi|CalledImei|CalledImsi|CallerCGIStart|CallerCGIEnd|CalledCGIStart|CalledCGIEND
   "9"|"+39123"|"+39321"|"2018-08-03 03:10:18"|"351"|"8629"|"222"|""|""|"0117"|""|""|""
  "16"|"+39222"|"+39111"|"2018-08-03 03:17:04"|"106"|"8629"|"222"|""|""|"4590"|""|""|""
  "18"|"+39222"|"+39111"|"2018-08-03 03:17:04"|"106"|"" |""|"8629"|"222"|""|""|"4590"|""
   "3"|"+39333"|"+39355"|"2018-08-03 03:06:23"|"146"|"8630"|"222"|""|""|"0117"|""|""|""

在ID为16和18的行中,调用被分为两个记录。第16行有一些信息,第18行有其他信息。我们可以识别该呼叫,因为它具有相同的日期,持续时间和相同的呼叫者并被呼叫。另外,某些电话可能具有两条以上的线路,或者持续时间可能会稍短,但是如果上一个电话的持续时间长于其后的电话,则肯定是相同的电话。

我想以此方式进行合并。

Id |Caller|Called|Date|Length|CallerImei|CallerImsi|CalledImei|CalledImsi|CallerCGIStart|CallerCGIEnd|CalledCGIStart|CalledCGIEND|ListIDMerged
"1"|"+39123"|"+39321"|"2018-08-03 03:10:18"|"351"|"8629"|"222"|""|""|"0117"|""|""|""|"9"
"2"|"+39222"|"+39111"|"2018-08-03 03:17:04"|"106"|"8629"|"222"|"8629"|"222"|"4590"|""|"4590"|""|"16,18"
"3"|"+39333"|"+39355"|"2018-08-03 03:06:23"|"146"|"8630"|"222"|""|""|"0117"|""|""|""|"3"

然后创建一个包含合并结果的表和一个列,该列将合并的行考虑为可能的控件

感谢所有人

0 个答案:

没有答案