SELECT *,
CASE WHEN customer_seq > 1 THEN 'Repeat Customer'
ELSE 'New Customer'
END AS RepeatPurchase
FROM (
SELECT *,
RANK() OVER (PARTITION BY CustomerID ORDER BY date) AS customer_seq
FROM online_retail
)
SELECT *,
CASE WHEN customer_seq > 1 THEN 'Repeat Customer'
ELSE 'New Customer'
END AS RepeatPurchase
FROM (
SELECT *,
RANK() OVER (PARTITION BY CustomerID ORDER BY date) AS customer_seq
FROM online_retail
)