Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 2

1.

- Daily new customers (who placed their first order)

SELECT
DATE(Order_time) AS OrderDate,
COUNT(DISTINCT u.User_Id) AS NewCustomerCount
FROM
Order AS o
JOIN
User AS u
ON
o.Customer_id = u.User_Id
WHERE
o.Order_Id = (SELECT MIN(Order_Id) FROM Order WHERE Customer_id =
o.Customer_id)
GROUP BY
OrderDate;

- Daily old customers (who placed their repeat orders)

SELECT
DATE(Order_time) AS OrderDate,
COUNT(DISTINCT u.User_Id) AS OldCustomerCount
FROM
Order AS o
JOIN
User AS u
ON
o.Customer_id = u.User_Id
WHERE
o.Order_Id != (SELECT MIN(Order_Id) FROM Order WHERE Customer_id =
o.Customer_id)
GROUP BY
OrderDate;

- Daily customers who have placed their 3rd lifetime order

SELECT
DATE(Order_time) AS OrderDate,
COUNT(DISTINCT u.User_Id) AS ThreeTimeCustomerCount
FROM
Order AS o
JOIN
User AS u
ON
o.Customer_id = u.User_Id
GROUP BY
OrderDate
HAVING
COUNT(DISTINCT o.Order_Id) >= 3;

2.

SELECT
o.Order_Id,
o.Order_time,
u.First_Name AS Customer_Name,
u.Referral_Code
FROM
Orders AS o
JOIN
User AS u
ON
o.Customer_id = u.User_Id
WHERE
u.First_Name IN ('Vidhisha', 'Ranu', 'Jhanvi')
AND u.Referral_Code IS NOT NULL;

3.

SELECT
DATE(Order_time) AS OrderDate,
Seller_Name,
(COUNT(Order_Id) / (SELECT COUNT(*) FROM Orders WHERE DATE(Order_time) =
OrderDate)) * 100 AS ContributionPercentage
FROM
Orders
GROUP BY
OrderDate, Seller_Name;

You might also like