Ctrl K
Data Analyst · SQL · Junior · Coding

There's an orders table with the columns order_id, created_at, and amount. Write a SQL query that, for each day, returns the date, the revenue for that day, and the cumulative revenue since the start of the period, in ascending order of date.

~15 min by voice

How to approach it

They're checking whether you understand the difference between aggregation (GROUP BY) and window functions and can combine them correctly: first collapse the orders down to days, then compute the running total on top of the daily sums.

Have you seen this question in a real interview?
Answers0
Avg. score—
Strong—
Practiced0
Topics
Similar questionsYou have a query with window functions over a billion-row events table, and it takes forty minutes. How would you investigate, and what would you optimize? SeniorThere's an orders table with the columns created_at and amount. Write a SQL query that finds anomalous days, where the daily revenue differs from the average over the previous seven days by more than three standard deviations. Keep in mind that on some days there were no orders at all. SeniorThere's a sales table with the columns product_id, category, amount, and sold_at. Write a SQL query that, for each category, returns the three products with the highest revenue over the last thirty days, with the revenue total and the rank within the category. Mid-levelWhat's the difference between the window functions ROW_NUMBER, RANK, and DENSE_RANK? JuniorYou need to get each user's most recent order, and some users have several orders with the same timestamp. How would you write the query, and which function would you choose? Mid-level

Answer by voice

The interviewer will ask this question and listen. Think out loud and ask for a hint if you need one. When you're done, pause or tap “That's my answer”. In about a minute, your score and the points you covered show up here.

Sign in to answer

Best with headphones · ~15 min