Problem set
Everything, ordered by track.
sign in to save progress
difficulty
progress
205 problems
track · title · topic · difficulty
- sqlFilter customers by countryWHEREORDER BYeasy
- sqlCount orders per statusGROUP BYCOUNTeasy
- sqlMost expensive product per categoryGROUP BYMAXmedium
- sqlJoin orders to customersJOINeasy
- sqlRevenue per orderJOINSUMmedium
- sqlTop spending customersJOINHAVINGmedium
- sqlCustomers with no ordersLEFT JOINNULLmedium
- sqlRank salaries within departmentWindow functionshard
- sqlMonthly completed revenueDatesGROUP BYhard
- sqlSecond highest salary per departmentCTEWindow functionshard
- pythonSum of even numbersfor looplistseasy
- pythonUnique values, order preservedsetslistseasy
- pythonWord frequency counterdictsstringseasy
- pythonSet operationssetseasy
- pythonFlatten a nested listrecursionlistsmedium
- pythonGroup by key functionfunctionsdictsmedium
- pythonMoving averageloopsslicingmedium
- pythonNormalize a feature listfunctionsmathmedium
- pythonTop-k frequent itemsdictssortinghard
- pythonBatch an iterablegeneratorsloopshard
- pandasSelect and filter rowsfilteringeasy
- pandasCreate a revenue columnassigneasy
- pandasGroup by and aggregategroupbyeasy
- pandasHandle missing ratingsmissing dataeasy
- pandasMulti-column aggregationgroupbyaggmedium
- pandasMerge two DataFramesmergemedium
- pandasPivot tablepivot_tablemedium
- pandasRank within groupsgroupbyrankhard
- pandasReshape wide to longmelthard
- pandasShare of revenue per customertransformgroupbyhard
- sqlairbnbFilter active listings by cityWHEREORDER BYeasy
- sqlairbnbTop-rated listing per cityWindow functionsJOINmedium
- pandasairbnbHost listing summarygroupbyaggmedium
- pythonairbnbMaximum booking overlapintervalssortinghard
- pandasuberFilter SF tripsfilteringeasy
- pandasuberDriver earnings sharegroupbytransformmedium
- sqluberAverage fare by surge bucketCASEGROUP BYmedium
- pythonuberTop drivers by total faredictssortingmedium
- sqlstripeCount charges by statusGROUP BYCOUNTeasy
- sqlstripeRevenue by subscription planJOINGROUP BYmedium
- pythonstripeMRR growth rateloopsmathmedium
- sqlmetaActive users who postedJOINDISTINCTeasy
- sqlmetaTop posts by like countJOINGROUP BYmedium
- pythonmetaFriend suggestions via mutualsdictssetsmedium
- sqlmetaRunning total of new usersWindow functionsDateshard
- sqlamazonProducts above average pricesubqueryeasy
- sqlamazonProducts with verified reviewsJOINGROUP BYmedium
- pythonamazonWeighted product ratingfunctionsmathmedium
- pandasnetflixFilter drama watch eventsfilteringeasy
- pandasnetflixMonthly watch hoursgroupbydatetimesmedium
- pythonnetflixTop genres by watch minutesdictssortinghard
- sqlairbnbRevenue per cityJOINGROUP BYmedium
- sqlairbnbHighest rated listing per cityWindow functionsrankinghard
- pandasairbnbOccupancy revenue per hostgroupbyaggmedium
- pythonairbnbNightly price bucketsdictsconditionalseasy
- sqluberSurge trips by cityCASEGROUP BYmedium
- sqluberDriver fare running totalWindow functionsrunning totalhard
- pandasuberFare per mile by citygroupbyratiosmedium
- pandasuberBase fare without surgeassignrankhard
- sqlstripeCharges by statusGROUP BYCOUNTeasy
- sqlstripePayment failure rate by countryJOINCASEmedium
- sqlstripeNet monthly revenuedatesCASEhard
- pythonstripeRetry schedule with backoffloopsmathmedium
- sqlmetaUsers who never postedLEFT JOINNULLeasy
- sqlmetaEngagement per postLEFT JOINGROUP BYmedium
- sqlmetaReciprocal engagementself joinEXISTShard
- pythonmetaSession windows from timestampsloopslistsmedium
- sqlamazonUnits sold per categoryJOINSUMeasy
- sqlamazonVerified-only ratingsfilteringHAVINGmedium
- sqlamazonMonthly revenue growthWindow functionsLAGhard
- pythonamazonWeighted review scoremathfunctionsmedium
- pandasnetflixMinutes watched per genregroupbymedium
- pandasnetflixMonth-two retentionsetsdatetimehard
- pandasnetflixAverage session length per usergroupbyaggmedium
- pythonnetflixTop-k recommendationssortingdictseasy
- sqlgoogleSearches per deviceGROUP BYORDER BYeasy
- sqlgoogleRevenue per campaignJOINGROUP BYmedium
- sqlgoogleDays to a user's second searchWindow functionsdateshard
- pandasgoogleClick-through rate per querygroupbyratiosmedium
- pythongoogleNormalize and count queriesstringsdictsmedium
- sqllinkedinApplications per job postJOINGROUP BYeasy
- sqllinkedinConnection count per memberLEFT JOINGROUP BYmedium
- sqllinkedinMutual connectionsself joinsetshard
- sqllinkedinOffer rate by seniorityCASEaggregationmedium
- pythonlinkedinDegrees of separationgraphsBFShard
- sqlspotifyPlays per genreJOINGROUP BYeasy
- sqlspotifyCompletion rate per trackratiosJOINmedium
- sqlspotifyEach user's most played artistWindow functionsrankinghard
- pandasspotifyMonthly listening hours per artistdatetimepivot_tablemedium
- pandasspotifySkip rate per usertransformgroupbyhard
- sqldoordashAverage delivery time per cityGROUP BYAVGeasy
- sqldoordashLate delivery rate per storeCASEHAVINGmedium
- sqldoordashDasher earnings shareWindow functionsshare of totalhard
- pandasdoordashPeak dinner hour volumedatetimegroupbymedium
- pandasdoordashTip percentage by cuisinegroupbyaggmedium
- sqlsalesforceOpen pipeline by regionWHEREGROUP BYeasy
- sqlsalesforceWin rate per repCASEratiosmedium
- sqlsalesforceQuota attainmentJOINaggregationmedium
- sqlsalesforceAverage sales cycle by industrydatesNULL handlinghard
- pythonsalesforceWeighted forecastdictsfunctionsmedium
- sqlrobinhoodTrade volume per symbolGROUP BYSUMeasy
- sqlrobinhoodNet open position valueJOINaggregationhard
- sqlrobinhoodMonthly active tradersdatesDISTINCTmedium
- pandasrobinhoodRealized profit and lossgroupbyapplyhard
- pythonrobinhoodMax drawdownloopsmathhard
- sqlappleDevice activations by countryGROUP BYORDER BYeasy
- sqlappleRevenue by app categoryJOINSUMeasy
- sqlappleApps that never soldLEFT JOINNULLmedium
- sqlappleMonthly App Store revenuestrftimeGROUP BYmedium
- sqlappleAverage session length per appJOINHAVINGmedium
- sqlappleActive subscription value by planfilteringaggregationmedium
- sqlappleSpend per user with device modelJOINGROUP BYmedium
- sqlappleRunning revenue by monthWindow functionsrunning totalhard
- sqlappleMonth-over-month revenue changeLAGWindow functionshard
- sqlappleShort-lived subscriptionsdatesjuliandayhard
- pandasappleMinutes per appgroupbysorteasy
- pandasappleCrash rate per appgroupbyratiosmedium
- pandasappleTop spender per countrygroupbyidxmaxmedium
- pandasappleDaily engagement pivotpivot_tablereshapinghard
- pythonappleValidate device serialsstringsvalidationeasy
- pythonappleSubscription renewal scheduledatesloopsmedium
- pythonappleRefund window checkerlogicdictsmedium
- pythonappleLongest daily usage streakdatesstreakshard
- sqlmicrosoftTenants by planGROUP BYSUMeasy
- sqlmicrosoftAzure spend per servicearithmeticGROUP BYeasy
- sqlmicrosoftSpend per tenant nameJOINGROUP BYmedium
- sqlmicrosoftUnresolved critical and high alertsfilteringJOINmedium
- sqlmicrosoftTeams engagement per tenantaggregationDISTINCTmedium
- sqlmicrosoftSeat utilisationJOINratiosmedium
- sqlmicrosoftChurned license valuefilteringdatesmedium
- sqlmicrosoftCompute spend share per tenantWindow functionsratioshard
- sqlmicrosoftTop spending day per tenantWindow functionsROW_NUMBERhard
- sqlmicrosoftCompute spend growth March to AprilpivotCASEhard
- pandasmicrosoftCost per tenantassigngroupbyeasy
- pandasmicrosoftService mix matrixpivot_tablefillnamedium
- pandasmicrosoftActive seats per tenantfilteringgroupbymedium
- pythonmicrosoftParse a meter linestringsparsingeasy
- pythonmicrosoftAlert severity escalationdictssortingmedium
- pythonmicrosoftMerge overlapping meeting blocksintervalssortinghard
- sqltiktokVideos posted per creatorJOINGROUP BYeasy
- sqltiktokMost used soundsGROUP BYCOUNTeasy
- sqltiktokVideo completion rateJOINratiosmedium
- sqltiktokCoins earned per creatorJOINSUMmedium
- sqltiktokLike rate by soundJOINAVGmedium
- sqltiktokCreators without giftsNOT EXISTSanti-joinmedium
- sqltiktokWatch time per countrymulti-joinSUMmedium
- sqltiktokTop video per creatorWindow functionsROW_NUMBERhard
- sqltiktokFollower conversion after viewingEXISTSmulti-joinhard
- sqltiktokGifting rank within countryRANKpartitioned windowshard
- pandastiktokAverage watch percentagegroupbyderived columnsmedium
- pandastiktokRolling 3-day coin totalrollingtime serieshard
- pandastiktokEngagement leaderboardaggmultiple metricsmedium
- pythontiktokExtract hashtagsstringsparsingeasy
- pythontiktokFeed deduplicationlistssetsmedium
- pythontiktokTop k trending soundsheapscountinghard
- sqlopenaiRequests per modelGROUP BYCOUNTeasy
- sqlopenaiTotal tokens per organisationJOINSUMeasy
- sqlopenaiError and rate-limit rateCASEratiosmedium
- sqlopenaiSpend per modelJOINpricingmedium
- sqlopenaiAverage latency by modelAVGHAVINGmedium
- sqlopenaiAccounts near their token limitJOINthresholdsmedium
- sqlopenaiFine-tune success rateCASEGROUP BYmedium
- sqlopenaiOutput-to-input token ratioratioswindow functionshard
- sqlopenaiDaily spend with running totalwindow functionsrunning totalhard
- sqlopenaiHeaviest request per accountcorrelated subqueryMAXhard
- pandasopenaiSpend by organisationmergegroupbymedium
- pandasopenaiLatency percentiles per modelquantileagghard
- pandasopenaiStatus breakdown sharecrosstabnormalizemedium
- pythonopenaiEstimate token costarithmeticroundingeasy
- pythonopenaiSliding window rate limitersliding windowqueueshard
- pythonopenaiPrompt cache hit ratiodictsratiosmedium
- sqlsnowflakeCredits per warehouseJOINSUMeasy
- sqlsnowflakeFailed queries by userfilteringGROUP BYeasy
- sqlsnowflakeQueries that spilled to remote storageJOINfilteringmedium
- sqlsnowflakeAverage scan size per warehouse sizeJOINAVGmedium
- sqlsnowflakePoorly clustered tablesfilteringorderingmedium
- sqlsnowflakeCredit efficiency per warehousemulti-CTEratiosmedium
- sqlsnowflakeActive shares per databasefilteringGROUP BYmedium
- sqlsnowflakeShare of credits per warehouseWindow functionsshare of totalhard
- sqlsnowflakeSlowest query per userWindow functionsROW_NUMBERhard
- sqlsnowflakeDay-over-day credit changeLAGWindow functionshard
- pandassnowflakeScan efficiency per warehousegroupbyderived metricsmedium
- pandassnowflakeSpill rate by usergroupbymeanmedium
- pandassnowflakeCredits with cumulative sharecumsumrankinghard
- pythonsnowflakeWarehouse size orderingsortingdictseasy
- pythonsnowflakeAuto-suspend savingssimulationarithmeticmedium
- pythonsnowflakeDetect query gaps and islandsgaps and islandsintervalshard
- sqldatabricksRuns per jobGROUP BYCOUNTeasy
- sqldatabricksDelta size per catalogGROUP BYSUMeasy
- sqldatabricksCluster compute hoursJOINarithmeticmedium
- sqldatabricksJob failure rateCASEratiosmedium
- sqldatabricksSpot versus on-demand spendJOINCASEmedium
- sqldatabricksTables needing compactionratiosfilteringmedium
- sqldatabricksStale vacuum auditdatesjuliandaymedium
- sqldatabricksCost per successful runmulti-joinratioshard
- sqldatabricksRecursive lineage descendantsrecursive CTEgraphshard
- sqldatabricksRun duration trend per jobLAGWindow functionshard
- pandasdatabricksAverage runtime per jobgroupbymeaneasy
- pandasdatabricksRetry hotspotsfilteringgroupbymedium
- pandasdatabricksSmall file ratio per catalogmergederived metricsmedium
- pandasdatabricksDaily pipeline healthpivot_tablesuccess ratehard
- pythondatabricksParse a cluster specstringsdictseasy
- pythondatabricksRetry with exponential backoffloopssimulationmedium
- pythondatabricksTopological order of a pipelinegraphstopological sorthard
- pythondatabricksCompact small filesgreedybin packinghard