У меня есть таблица, которая сообщает мне тип ошибки и номер строки, в которой произошла ошибка. (Процесс не имеет значения в данный момент). Мне нужно сгруппировать по типу ошибки и показать начало и конец строки для каждого типа ошибки, в результате диапазон каждого типа ошибки. Мне нужно учитывать разрывы строк
Моя таблица и запросы были:
create table errors (
err_type varchar(10),
line integer);
insert into errors values
('type_A', 1),('type_A', 2),('type_A', 3),
('type_A', 6),('type_A', 7),
('type_B', 9),('type_B', 10),
('type_B', 12),('type_B', 13),('type_B', 14),('type_B', 15),
('type_C', 21);
select * from errors;
Мои данные:
err_type line
----------------
type_A 1
type_A 2
type_A 3
type_A 6
type_A 7
type_B 9
type_B 10
type_B 12
type_B 13
type_B 14
type_B 15
type_C 21
Мне нужен запрос для этого:
err_type line_start line_end
-------------------------------
type_A 1 3
type_A 6 7
type_B 9 10
type_B 12 15
type_C 21 21
Я использую PostgreSQL, но у Oracle аналогичный синтаксис для partitioning over
функциональности.
Есть предложения?