У меня есть следующее SQL
, которое работает на GROUP BY
час:
SELECT
CONCAT(TO_CHAR(timestamp::timestamp, 'YYYY-MM-DD HH'), ':00:00') as time_from,
car_id,
SUM(km) as driven from car_data
group by TO_CHAR(timestamp::timestamp, 'YYYY-MM-DD HH'), car_id
order by time_from, car_id;
Я бы хотел дополнительный вывод, который составляет time_from
+1 часовой интервал.
Я пробовал с:
SELECT
CONCAT(TO_CHAR(timestamp::timestamp, 'YYYY-MM-DD HH'), ':00:00') as time_from,
CONCAT(TO_CHAR(timestamp::timestamp + interval '1 hour', 'YYYY-MM-DD HH'), ':00:00') as time_to,
car_id,
SUM(km) as driven from car_data
group by TO_CHAR(timestamp::timestamp, 'YYYY-MM-DD HH'), car_id
order by time_from, car_id;
Но это сообщает, что мне нужно GROUP BY
это поле также:
ERROR: column "car_data.time" must appear in the GROUP BY clause or be used in an aggregate function
, чего я не хочу делать. Как я могу лучше всего заархивировать это?