Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Rolling 7-Day SQL Ranking

HardSQL · PostgreSQL00:00
Practice interviewer
In session
5 left
00:00

Your question is Rolling 7-Day SQL Ranking. Start with the requirements and the three tables on the right.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.

Problem

NASA's Deep Space Network receives daily quality-controlled signal measurements from instruments supporting missions such as Artemis II and Europa Clipper. Write a PostgreSQL query that calculates each instrument's rolling 7-day signal average and ranks instruments within their mission group for each observation date.

Requirements

  1. Join missions, instruments, and observations.
  2. Include only nominal observations with non-NULL signal values from February 1 through February 10, 2025.
  3. Aggregate multiple observations for an instrument on the same date before calculating the rolling average. Treat the rolling window as the current date and preceding six calendar days.
  4. Rank instruments by rolling average within each mission_group and date, with the highest average ranked first. Use RANK() so ties share a rank.
  5. Return mission_group, observation_date, instrument_name, rolling_7_day_avg, and group_rank, ordered by group, date, rank, and instrument name.

Schema

missions
ColumnTypeDescription
mission_idPKINTUnique NASA mission identifier
mission_nameVARCHAR(100)Mission name
mission_groupVARCHAR(50)Research group used for ranking
instruments
ColumnTypeDescription
instrument_idPKINTUnique instrument identifier
mission_idINTOwning mission
instrument_nameVARCHAR(120)Instrument name
observations
ColumnTypeDescription
observation_idPKINTUnique observation identifier
instrument_idINTInstrument producing the observation
observation_dateDATEUTC observation date
signal_valueNUMERIC(10,2)Measured signal value
quality_flagVARCHAR(20)Measurement quality classification
Tablesmissionsinstrumentsobservations
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results