Попытка написать запрос для статистики продолжительности исходящего звонка 3CX за текущий день

До сих пор мне удалось написать запрос, чтобы перечислить все исходящие вызовы, сделанные пользователем, и их продолжительность, но я ищу, а не список всех отдельных вызовов, итоговую продолжительность.

SELECT starttime, duration, is_answ, is_fromoutside, from_no
  FROM callhistory3
 WHERE is_answ = 't'
   AND is_fromoutside = 'f'
   AND starttime >= CURRENT_DATE
   AND from_no = '101';

Продолжительность указана в формате 00:00:00:00.000 (Дни: Часы: Минуты: Секунды. Сотые доли), поэтому мой вопрос на самом деле состоит в том, как мне сложить это и представить его как единое целое для длительности, а не как список. отдельных звонков каждый со своей отдельной продолжительностью?

Мой последний запрос заключается в следующем для всех, кто заинтересован:

SELECT from_no, SUM(duration), COUNT (*)
  FROM callhistory3
 WHERE is_answ = 't'
   AND is_fromoutside = 'f'
   AND starttime >= CURRENT_DATE
 GROUP BY from_no
 ORDER BY from_no;

1 ответ

Решение

Если продолжительность действительно всегда имеет именно такой формат:

SELECT from_no, sum(duration)
  FROM callhistory3
  WHERE is_answ = 't'
    AND is_fromoutside = 'f'
    AND starttime >= CURRENT_DATE
    AND from_no = '101'
  GROUP BY from_no
  ORDER BY from_no;

Ну, если вы действительно просто делаете это для одного from_no Вы можете упростить это, просто выбрав sum() и оставляя GROUP BY а также ORDER BY пункты, но, вероятно, вы, возможно, захотите список; для этого вы можете просто изменить предложение WHERE выше.

Другие вопросы по тегам