Как составить sql запрос на выборку дат с интервалом, группировкой и округлением?

Есть табличка с датами и id пользователями в формате "2022-09-15 00:12:30 | id" как правильно составить sql запрос чтобы выбрать все записи как во второй таблице? Интервал может быть - за каждые 30 минут, за час, за 3 часа и т.д. Так же надо округлить время, если интервал за 30 мин, то округляем к 30 или 00 мин, если за каждый час, то округляем до часов и тд.


То есть если в базе записи:

Время ID
2022-09-14 23:58:00 1
2022-09-14 23:59:02 1
2022-09-14 23:59:59 2
2022-09-14 23:59:10 3
2022-09-15 00:10:05 1
2022-09-15 00:10:06 2
2022-09-15 00:34:00 1
2022-09-15 00:35:00 1
2022-09-15 00:40:00 2
2022-09-15 00:45:00 1
2022-09-15 02:12:13 3

то вывести должно так:

Время ID
2022-09-14 23:30:00 1
2022-09-14 23:30:00 2
2022-09-14 23:30:00 3
2022-09-15 00:00:00 1
2022-09-15 00:00:00 2
2022-09-15 00:30:00 2
2022-09-15 00:30:00 1
2022-09-15 02:00:00 3

Если есть вариант с созданием процедуры, то будет круто!


Ответы (0 шт):