Группировка дат в большом запросе

Я пытался написать запрос по большому запросу, чтобы получить разницу между двумя временами (Создано и разрешено в) и получить среднее значение, сгруппированное по дням.

Это вопрос, который я написал:

SELECT 
    avg(datetime_diff(datetime(stats.resolved_at), datetime(created_at), HOUR)) as Difference, 
    date(tickets.created_at)
FROM fresh_desk.tickets 
WHERE 
    type = "Revision Request" 
    OR type = "Proof request" 
    AND stats.first_responded_at is NULL 
GROUP BY date(tickets.created_at)

Результаты отображаются по самой дате, но когда я строю диаграммы на основе этих данных с помощью инструмента бизнес-аналитики, я также получаю результаты с датой, сгруппированной по отметкам времени. Как я могу избежать этого, чтобы дата была сгруппирована по дням и никак иначе? Он должен показывать среднее значение за день.

1 ответ

Другой способ написать этот запрос мог бы быть

with T as (
  SELECT 
    datetime_diff(datetime(resolved_at), datetime(created_at), HOUR) as Difference, 
    date(created_at) as custom_date
FROM fresh_desk.tickets
WHERE 
    type = "Revision Request" 
    OR type = "Proof request" 
    AND first_responded_at is NULL 
GROUP BY date(created_at)
)

Select avg(Difference), custom_date from T group by custom_date

После получения результатов вы можете использовать Datastudio для предварительного просмотра ваших данных, и вы можете настроить диаграмму для построения графика custom_date (ось X) и разницы (ось Y)

Если ваш текущий инструмент использует другой тип данных для оси X, вы должны проверить тип, используемый вашим инструментом, при импорте данных.

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