Разница между этими двумя запросами заключается в том, что второй будет упорядочен по возрастанию на TYPE
, а затем XTIME
, тогда как первый теоретически будет иметь случайный порядок.
PARTITION BY
и ORDER BY
предложения, используемые в вызове FIRST_VALUE
, влияют на эту конкретную аналитическую функцию, но сами по себе не влияют на конечный порядок набора результатов.
InВообще, если вы хотите упорядочить набор результатов в SQL, вам нужно использовать предложение ORDER BY
.Если оба ваших запроса оказываются имеют одинаковый порядок в данный момент, это только случайно и не гарантируется.Как это могло случиться?Что ж, если Oracle выполняет итерацию кластеризованного индекса вашей таблицы, и этот порядок совпадений совпадает с ORDER BY TYPE, XTIME
, то вы увидите этот порядок даже без , используя ORDER BY
.