Ctrl K
Data Scientist · SQL · Senior · Coding

There'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.

~15 min by voice

How to approach it

The interviewer wants to see whether you can work correctly with time series in SQL: fill gaps in the calendar, set the window frame correctly without the current day, and avoid the traps of incomplete history, zero stddev and today's incomplete day.

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 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-levelThere'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. JuniorWhat'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