вторник, 22 марта 2011 г.

Выбрать все числовые отрезки из таблицы

Для разнообразия, небольшая задачка по SQL.

У Вас есть таблица numbers из одной колонки num. Нужно написать запрос, который выберет все отрезки, на которые числа из таблицы разбивают числовую ось. К примеру, если в таблице есть записи 1, 3, 7 и 10, то в результате выполнения запроса Вы должны получить 3 строки: (1,3), (3,7) и (7,10).

Решение
Один из возможных вариантов:
SELECT a.num, MIN(b.num)
FROM numbers a INNER JOIN numbers b ON a.num<b.num
GROUP BY a.num
ORDER BY a.num

Комментариев нет:

Отправить комментарий