Новые заказы клиентов, но только если они приобрели 1 неделю после регистрации - PullRequest
0 голосов
/ 04 марта 2020

Итак, я пытаюсь понять, какие продукты мои новые клиенты покупают, через 1 неделю после их регистрации.

В настоящее время это мой запрос:

SELECT
    item_description_1,
    t3.new_division,
    quantity_ordered
FROM 
    mdwh.us_raw.order_report
    INNER JOIN l_act_account t2 ON customer_id = SUBSTRING(t2.channel_uid,4,18)
    FULL OUTER JOIN item_master_zs t3 ON SUBSTRING(upc,1,6) = t3.item_code
WHERE 
    quantity_ordered > 0
    AND customer_id IS NOT NULL
    AND customer_id != ('')
    AND customer_id LIKE 'US%'
    AND oms_order_date IS NOT NULL
    AND extended_amount < 1000 --NO BULK ORDERS
    AND UPPER(line_status) NOT IN ('','RETURN', 'CANCELLED')
    AND (quantity_ordered * unit_price_amount) > 0
    AND oms_order_date BETWEEN '2019-03-01' AND '2019-03-31'
    AND t2.create_timestamp BETWEEN '2019-03-01' AND '2019-03-31'
    AND SUBSTRING(upc,1,6) IN (SELECT item_code FROM item_master_zs WHERE new_division BETWEEN '11' AND '39') --Overall
GROUP BY
    item_description_1,
    t3.new_division,
    quantity_ordered
ORDER BY
    quantity_ordered desc
LIMIT 60

Этот запрос дает мне 60 лучших товаров, приобретенных в марте, у новых клиентов, которых я приобрел в марте. Вот как выглядит вывод прямо сейчас:

enter image description here

Все, что мне сейчас нужно, это вывод, который выглядит точно так же, как указано выше, но показывает только элементы купил 7 дней ПОСЛЕ даты их создания_время (когда они зарегистрировались).

Суть этого заключается в следующем: некоторые новые клиенты могут зарегистрировать аккаунт и сразу же совершить покупку из-за своего рода купона или, возможно, реферала. Однако, если я могу видеть, какие продукты покупали пользователи (где они, кажется, ждали неделю, прежде чем совершить покупку), то я могу видеть, какие продукты заставили их прийти и совершить эту покупку.

Пожалуйста, дайте мне знать, если я сделал что-то неясное, или вам нужна дополнительная информация. Любая помощь будет принята с благодарностью !!

1 Ответ

0 голосов
/ 05 марта 2020

По-видимому, вы хотите включить заказы только в том случае, если дата заказа (oms_order_date) находится в течение 7 дней после даты регистрации (create_timestamp).

При условии, что дата заказа составляет DATE, и регистрация TIMESTAMP, вы можете работать только в полные дни, а не до часа.

Поэтому вы будете использовать:

WHERE oms_order_date - create_timestamp <= INTERVAL '7 days'
...