Условия
Дана таблица users с полями id, group_id.
CREATE TEMP TABLE users(id bigserial, group_id bigint);
INSERT INTO users(group_id) VALUES (1), (1), (1), (2), (1), (3);В этой таблице, упорядоченной по id необходимо:
-
выделить непрерывные группы по
group_idс учётом указанного порядка записей (их 4); -
подсчитать количество записей в каждой группе;
-
вычислить минимальный
idзаписи в группе.
Для таблицы:
| id | group_id |
|---|---|
| 1 | 1 |
| 2 | 1 |
| 3 | 1 |
| 4 | 2 |
| 5 | 1 |
| 6 | 3 |
Непрерывными группами можно считать:
| group_id |
|---|
| 1 |
| 2 |
| 1 |
| 3 |
Запрос должен выводить:
| min_id | group_id | count |
|---|---|---|
| 1 | 1 | 3 |
| 4 | 2 | 1 |
| 5 | 1 | 1 |
| 6 | 3 | 1 |