SELECT
рынок,
SUM(объём_торгов),
TIMESTAMPADD(HOUR,TIMESTAMPDIFF(HOUR,CURDATE(),время),
CURDATE()) AS round_date,
FROM your_table
GROUP BY рынок, round_date
Александр Прядко а как так сделать? ну order having то я понял, но как его прицепить, что б почасово было, ведь за один и тот же час может много данных быть
Нужно сначала получить столбец в котором будут присутствовать данные по времени без указания минут, только часы, а потом этот столбец использовать для группировки
SELECT рынок, date_trunc('hour', время), объём_торгов
FROM таблица
WHERE (время, рынок) IN (
SELECT max(время) AS время, рынок
FROM таблица
GROUP BY date_trunc('hour', время), рынок
)