Запрос SQL на максимальное и минимально значения группы последовательно идущих чисел

Таблица Table_name_4 содержит следующий набор данных:

ID
1
2
3
5
7
8
10

Необходимо реализовать запрос, который выведет максимальное и минимально значения группы последовательно идущих чисел. Пример результата выполнения запроса

Id_start    Id_end 
       1            3 
       5            5 
       7            8 
      10           10

СУБД MySQL 8.0


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

Автор решения: Akina
WITH cte AS ( SELECT id, 
                     id - ROW_NUMBER() OVER (ORDER BY id) group_num
              FROM test )
SELECT MIN(id) min_id, MAX(id) max_id
FROM cte
GROUP BY group_num;

fiddle

→ Ссылка