SQL, analysis, and business decisions
Data Analyst
Learn to retrieve, clean, summarize, and explain data so a stakeholder can make a defensible decision.
By the end
Turn raw tables into trustworthy metrics, analytical reports, and clear product recommendations.
Start here
Start with Filtering Rows Filtering Rows
Ask a table for exactly the rows and columns you mean, and nothing else.
Ask useful questions with SQL
Select the right records, summarize them, and combine related tables.
- SQL & DataFiltering RowsAsk a table for exactly the rows and columns you mean, and nothing else.
- SQL & DataGrouping and AggregationCollapse many rows into one answer per group, and know exactly which rows each number counted.
- SQL & DataJoining TablesPut rows from two tables side by side, keep the ones that should survive, and find the ones with no partner.
- SQL & DataSubqueries, CTEs and Set OperationsUse one query inside another: as a value, as a list, as a table, as a named step, and as a set to compare against.
Clean and reshape answers
Handle ordering, text, dates, duplicates, and awkward gaps in real data.
- SQL & DataSorting and PaginationPut rows in the order the reader expects, break every tie on purpose, and hand back one page at a time.
- SQL & DataStrings and TextCut, clean, count, and combine text with a handful of functions that compose into anything.
- SQL & DataNumbers and DatesDo arithmetic the way the database does it, and treat dates as values you can subtract, shift, and take apart.
- SQL & DataDuplicates, Median and ModeFind what repeats, keep one of it, and summarise a column by its middle and its most common value.
- SQL & Data · OptionalRanges and GapsFind what is missing from a sequence, what runs together, and what overlaps in time.
Build analytical reports
Use windows, reporting shapes, and product metrics to explain what changed and why.
- SQL & DataWindow Functions I: Ranking and Top-NCompute a value across a set of rows without collapsing them, then rank, pick the top few, or compare each row to its group.
- SQL & DataWindow Functions II: Running ValuesLet each row see the rows before and after it: running totals, changes from the previous row, gaps to the next, and moving windows.
- SQL & DataReporting and ReshapingTurn rows into columns and columns into rows, bucket values, fill blanks with zeros, and add the total line.
- SQL & DataProduct Analytics PatternsRates, active users, retention, funnels, and churn: the handful of query shapes behind almost every product metric.
- SQL & Data · OptionalHierarchical and Recursive QueriesWalk trees of any depth, build paths, and generate the rows you do not have, with one recursive CTE shape.
- SQL & Data · OptionalChanging DataInsert, update, and delete rows safely: from literal values, from other tables, with conditions, and inside a transaction.
Add Python and statistical judgment
Move beyond a query to inspect data, quantify uncertainty, and evaluate an experiment.
- Data Science & MLPython for Data WorkTurn Python records into trustworthy, analysis-ready tables with NumPy and pandas.
- Data Science & MLProbability and Statistical ReasoningBuild probability from cases, then use it to reason about repeated observations and evidence.
- Data Science & MLExperimentation and Product AnalyticsTurn an advertising-product experiment into defensible metrics, comparisons, and a product recommendation.