Есть таблица, в которой хранятся, например, цены на определенную валютную пару. таблица выглядит так:
Нужно получить выборку, где в первом столбце будет цена из определенного среза этой таблицы, а во втором столбце - тоже цена из этого среза, но больше, чем первая.
Т.е., запрос будет выглядеть следующим образом:
SELECT part_1.price, part_2.price
FROM (SELECT * FROM prices WHERE id > 1000 AND id < 2000000) AS part_1, (SELECT * FROM prices WHERE id > 1000 AND id < 2000000) AS part_2
WHERE part_1.price < part_2.price
Из запроса видно, что у нас 2 одинаковых подзапроса. Но это, как я понимаю, не по "феншую", т.к. одни и те же данные мы получаем несколько раз.
Отсюда вопрос, можно ли этот запрос переписать так, чтобы эти подзапросы не дублировась? И если можно, то как?
Задача гипотетическая, настоящая задача сложнее и дублей этих там будет гораздо больше. Т.е., данный пример привел, чтобы была ясна проблема.
Т.е., нужно получить ответ именно по дублям, как от них избавиться
Использую postgresql