Я пытаюсь выяснить, почему presto возвращает следующие результаты.
У меня есть следующая таблица из 4 дат:
pickup_week (date)
'2019-10-28'
'2019-11-04'
'2019-11-06'
'2019-12-16'
Когда я пробую это простое самостоятельное объединение:
select
w1.pickup_week as pu_w1,
w2.pickup_week as pu_w2
from week_user_list w1
join week_user_list w2 on w1.pickup_week = w2.pickup_week + interval '7' day
order by w1.pickup_week
Я получаю следующие результаты:
w1.pickup_week w2.pickup_week
2019-11-04 2019-10-28
2019-11-11 2019-11-04
Как видно из условия соединения:
w1.pickup_week = w2.pickup_week + interval '7' day
Но в таблице возврата я вижу обратное, w2.pickup_week - предыдущая неделя, а не позднее, как указано в условие.
В этом случае мой желаемый результат будет:
w1.pickup_week w2.pickup_week
2019-10-28 2019-11-04
2019-11-04 2019-11-11
Я понимаю, что возврат условия к
w1.pickup_week = w2.pickup_week - interval '7' day
даст желаемый результат, но я ' В замешательстве относительно того, почему и почему presto возвращает результаты такого типа, мне кажется, что это условие не интуитивно понятно.
Что здесь происходит и как правильно думать об этом?
Спасибо!