Я также предлагаю использовать анализатор запросов для конкретной базы данных. Ниже приведен пример в Postgres, который объясняет, что сначала выполняется ORDER BY, а затем фильтр WHERE:
EXPLAIN
SELECT * FROM table WHERE id=x AND date<='yyyy-mm-dd' ORDER BY date DESC;
Так что, если я изменю DESC на ASC, набор результатов будет содержать разные записи!