Группировка дат в большом запросе
Я пытался написать запрос по большому запросу, чтобы получить разницу между двумя временами (Создано и разрешено в) и получить среднее значение, сгруппированное по дням.
Это вопрос, который я написал:
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, вы должны проверить тип, используемый вашим инструментом, при импорте данных.