@RaulDuke

Корректный mysql-запрос к базе звонков Астера?

Всем привет, пишу микро-срм для микро бизнеса, ребят помогите сформулировать запрос к базе звонков астера. База выглядит следующим образом :

187e372472114fd8ae42efb2ead55a57.png

Для получения звонков я делаю следующий запрос:

SELECT * FROM calls WHERE (uniqueid,state) IN ( 
    SELECT uniqueid, MAX(state) /* выбираю записи с макс. state т.е. смотрю не все записи логгера астера, а только чем закончился тот или иной звонок (занятость (7), неответ (4), ответ абонента (6) и т.д. */
    FROM calls WHERE dst!=src /* в каждом звонке есть запись где звонящий = ответившему, они не нужны (насколько понимаю в этом месте "бриджится" звонок */
    GROUP BY uniqueid ) /* выборку по макс. стейту звонка делаем только внутри уникального айди вида 1479192928.2082 */
ORDER BY created DESC LIMIT 0,15


Посмотрите на вторую часть айди (отмечена красным) в одном звонке она отличается и для бд это разные записи, однако мне нужно сформулировать запрос, чтобы выборка делалась по первой части (до точки) айди.

Заранее благодарен.
  • Вопрос задан
  • 157 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
SUBSTRING_INDEX()
Но учтите, что число до точки - Unix Timestamp момента создания канала. Это число будет одинаковым для всех каналов, созданных в одну секунду и, при активном использовании Asterisk, одинаковым для никак не относящихся друг к другу каналов.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы