Skip to content

Opensips blog

Заметки voip инженера

  • Готовые сервисы
    • PUSH NOTIFICATIONS API
  • Kamailio
  • Opensips
  • О себе и реквизиты

Mysql. With recursive. Суммировать результаты запроса. Having.

2014-11-06 yooxyman

Привет,  давеча обнаружил что в таблице со звонками есть двойные звонки. Соответственно возникают две задачи:

1. Удалить дублирующися записи (легко),

2. Делать выборку без дублирующихся записей (легко),

3. Посчитать сумму звонков в продублированных записях. (интересно).

 

1 и 2 я опущу, это не интересно. А вот третий пункт делается так:

with recursive mytable as (select max(duration) from acc where time > ‘2014-08-01 00:00:00’ and srcip like ‘ip address’ and duration > 0 group by callid having count(callid) > 1) select sum(max) from mytable;

но это не включает секунды третьего звонка которые тоже есть.

создадим темповою табличку для экспериментов:

create temporary table acc2 as (select * from acc order by time desc limit 1000);

yooxy# delete from acc3 where id in (select max(id) from acc3 where time > ‘2014-08-01 00:00:00’ and srcip like ‘address’ and duration > 0 group by callid having count(callid) > 1);
DELETE 224
yooxy_1711=# delete from acc3 where id in (select max(id) from acc3 where time > ‘2014-08-01 00:00:00’ and srcip like ‘address’ and duration > 0 group by callid having count(callid) > 1);
DELETE 27
yooxy_1711=# delete from acc3 where id in (select max(id) from acc3 where time > ‘2014-08-01 00:00:00’ and srcip like ‘address’ and duration > 0 group by callid having count(callid) > 1);

DELETE 0.

правда это вручную, зато все под контролем. ну и удалим таблицу.

drop table acc2.

 

Posted in SQL запросы, Готовые решенияTagged duplicate, having, Mysql, recursive

Навигация по записям

uac_auth cseq increase Решение solve
freeradius. cdrtool. patch

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

My Profile

Eremin Pavel

Voip developer

P: 79227502213

E: eremina.net@gmail.com

Hire me on Freelancer.com

Облако

AMI (4) asterisk (18) centos (4) centos 7 (3) certbot (2) certificate (2) debian (2) duplicate (2) elastix (3) error (3) events (2) fail (3) freepbx (8) g729 (2) google (2) ios (2) issabel (4) issue (2) Kamailio (8) limit (2) Load (3) local (2) Mysql (8) nat (2) opensips (11) PAMI (2) performance (2) pjsip (2) provisioning (2) push (2) re-invite (2) rtpengine (2) SBC (2) server (2) ssh (2) ssl (2) tcp (2) timeout (2) tls (3) vmware (2) voip (2) wav (2) webrtc (2) windows (3) zoiper (2)

Свежие записи

  • asterisk 16. webrtc. sipml5
  • esxi useful command. vmware.
  • opensips as SBC
  • sipdump per day. compressed. heplify.
  • kamailio. siremis. xmlrpc. jsonrpc.

Управление

  • Войти
  • Лента записей
  • Лента комментариев
  • WordPress.org

© 2021 Opensips blog

Proudly powered by WordPress | Theme: x-blog by wpthemespace.com