У меня есть таблица в 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"|""|""|""
В строке с идентификаторами 16 и 18 вызов делится на две записи.В строке 16 есть некоторая информация, в строке 18 - другая.Мы можем распознать звонок, потому что он имеет ту же дату, ту же продолжительность и того же звонящего и звонил.Кроме того, некоторые телефонные звонки могут иметь более двух линий или длительность может быть немного меньше, но если предыдущий телефонный звонок длился дольше, чем тот, который следует за ним ... это определенно тот же телефонный звонок.
Iхотел бы выполнить слияние следующим образом.
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"
Затем создайте таблицу с результатом слияния и столбцом, который учитывает объединенные строки для возможного элемента управления
Спасибо завсе