user_events
+----------+------------+---------------------+-------------+
| user_id | event_type | event_timestamp | product_id |
+----------+------------+---------------------+-------------+
| 101 | view | 2024-01-02 10:00:00 | 55 |
| 101 | purchase | 2024-01-02 10:05:00 | 55 |
| 102 | purchase | 2024-01-03 09:30:00 | 77 |
| 101 | purchase | 2024-02-01 12:00:00 | 88 |
| 103 | view | 2024-02-02 08:00:00 | 23 |
Scenario
Online marketplace wants to understand user purchase behavior stored in user_events table.
Question
SQL: For each user, return the first product_id they purchased and the purchase timestamp. SQL: Count the number of distinct users who made at least two purchases on the same day. SQL: Find the top 3 products by total number of purchases. SQL: Calculate the 7-day rolling average of daily purchases overall. Pandas: Given the same data in DataFrame df, compute daily active users (unique user_id per date).
Hints
Use window functions, GROUP BY, DISTINCT, rolling(), and groupby().