Использую PostgreSQL, есть большая таблица несколько миллионов записей, для примера
CREATE TABLE towns ( id INTEGER PRIMARY KEY, name CHARACTER VARYING(30), root INTEGER );
INSERT INTO towns VALUES (1, ‘Berlin’, 1);
INSERT INTO towns VALUES (2, ‘Rome’, 2);
INSERT INTO towns VALUES (3, ‘Paris’, 1);
INSERT INTO towns VALUES (1, ‘Turin’, 2);
Нужно используя курсоры в Postgresql написать запрос, получить все записи отсортированные по root, выполнить запрос 1 раз, а получать по значению root