mysql合并行函数

vof42yt1  于 2021-06-18  发布在  Mysql
关注(0)|答案(0)|浏览(183)

我在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"

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

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题