forum.bitel.ru
http://forum.bitel.ru/

Удвоение звонков..
http://forum.bitel.ru/viewtopic.php?f=10&t=4886
Страница 1 из 1

Автор:  ayub [ 09 дек 2010, 15:57 ]
Заголовок сообщения:  Удвоение звонков..

Добрый день!

У нас такой случай, после внесения каких то изменений АТС начал удваивать звонки.....Это продолжалось в течении где-то 15 дней...

Вот сейчас мне интересно можно ли каким-то скриптом это записи удалить из MySQL базы......

Т.е. из тех звонков которые идут по два раза один из них удалить а один оставить....Мне интересно есть ли такая возможность?

И если это возможно то напишите скрипт по который может это делать.....

Автор:  Amir [ 09 дек 2010, 18:06 ]
Заголовок сообщения:  Re: Удвоение звонков..

1. Забекапить таблицу log_session_<mid>_<yyyyMM>.
2. Создать временную таблицу temp_phone_duplicate
Код:
CREATE TABLE `temp_phone_duplicate` (
  `id` int(11) NOT NULL,
  PRIMARY KEY (`id`)
)

3. Посмотреть дубли
Код:
SELECT COUNT(*), * FROM log_session_<mid>_<yyyyMM> WHERE source_id=<sourceId>
GROUP BY source_id, hour, cid, item_id, session_start, session_time, from_number
HAVING COUNT(*)>1

4. Выбрать по одному из дублирующихся во временную таблицу
Код:
INSERT INTO temp_phone_duplicate
(
SELECT MAX(id) FROM log_session_<mid>_<yyyyMM> WHERE source_id=<sourceId>
GROUP BY source_id, hour, cid, item_id, session_start, session_time, from_number
HAVING COUNT(*)>1
)

5. Посмотреть количество дублировавшихся звонков
Код:
SELECT COUNT(*) FROM temp_phone_duplicate

6. Удалить выбранные дубли temp_phone_duplicate
Код:
DELETE FROM log_session_<mid>_<yyyyMM> WHERE id IN ( SELECT id FROM temp_phone_duplicate )

После необходимо запустить установку баланса телефонии...
P.S. После переобратки дублирующиеся звонки вернутся. Можно аналогично сделать с таблицами data_log а потом просто запустить переобработку, но таблицы data_log подневные.

Автор:  ayub [ 09 дек 2010, 20:17 ]
Заголовок сообщения:  Re: Удвоение звонков..

Большое тебе спасибо Амир!

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/