из базы для построения графика?
Например у меня есть динамика регистраций за последние 24 часа
На данный момент у меня есть такой запрос:
SELECT
COUNT(*)
FROM
"affiliate_uplines" AS "uplines"
WHERE
"uplines"."upline_id" = :upline_id::bigint
AND "uplines"."level" = :level::smallint AND "u"."created_at" <= :end_date
Всего часов в сутках 24, поэтому у меня со стороны бэка у меня есть скрипт, который проходится циклом по заранее составленному массиву с датами и выполняет этот запрос 24 раза, далее результат кэшируется на 5 минут, дабы не провоцировать нагрузку на БД
Может есть какие-то способы уместить всё это в рамках одного запроса?
group by date_trunc(дата)
Спасибо, попробую!
а есть способы сделать так, чтобы используя GROUP BY, аггрегация происходила не заново с учётом date, а чтобы она дополняла предыдущую агрегацию? То есть сейчас у меня на скриншоте расписаны часы, в пределы которых произведён подсчёт пользователей А мне нужно, чтобы каждая новая запись, включала в себя кол-во пользователей за час + предыдущее кол-во пользователей за час: date|count 01|2 02|3 (прошлое: 2 + новое: 1) 03|5 (прошлое: 3+ новое2)
Обсуждают сегодня