Как составить 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 |
Если есть вариант с созданием процедуры, то будет круто!