These are the 79 Hard challenges in the bank: the questions a senior analyst or data scientist screen ends on. Most of them combine two or three ideas in one query, so the sections below overlap on purpose. The 6 free previews are listed first inside each section.
Find your weakest skill first →Ranking inside partitions, running totals with explicit frames, gaps and islands, period-over-period change with LAG. The hard part is rarely the function. It is choosing the partition and the order that make the numbers mean what the question asked.
Counted from the challenge bank, September 2026. Easy first, then Medium, then Hard.
Uses: SELECT CTE Window Functions
Two or more named steps, where a later one reads an earlier one: build the per-user table, then the per-cohort table, then the ratio. Interviewers watch whether each step has one job.
Counted from the challenge bank, September 2026. Easy first, then Medium, then Hard.
Uses: SELECT CTE Window Functions
Several tables at different grains, a subquery that filters or feeds a comparison, and the anti-join behind "customers who never ordered": NOT EXISTS or LEFT JOIN … IS NULL. The trap is the fan-out, where a join multiplies rows before the aggregate counts them.
Counted from the challenge bank, September 2026. Easy first, then Medium, then Hard.
Uses: SELECT Correlated Subquery COUNT
If a Hard question stalls, the fix is almost always one level down: the ranking functions page and the window functions on-ramp, CTE practice, or joins. The readiness test finds which one in ten questions.
One that needs more than one idea in the same query, typically a window function over a partition, a chain of CTEs, or an anti-join, and where the grain of the result has to be reasoned about rather than read off the question.
No. They are SQL Quest practice problems written around the patterns reported for data analyst, data scientist and analytics engineer screens. No company has published them.