SQL on CSV · lesson 6 of 10 · runs in your browser

The first aggregate: COUNT.

Aggregates collapse many rows into one answer. COUNT is the simplest: how many rows are there — or how many match a filter?

About this course

SQL, on a real CSV.

Every lesson runs a real SQL engine on real data, locally — no setup, no account, nothing uploaded. Your progress saves in your browser.

i. read

Read the idea

Each lesson is one concept with runnable examples — click any “try it” to load it into the editor.

ii. run

Run real queries

Edit and run anything (Ctrl+Enter). The data is a real generated CSV — the same one every learner sees.

iii. check

Check yourself

Exercises are verified by comparing your result against a reference — any correct query passes, not just one exact answer.

Keep going

The rest of the course.

Ten lessons from SELECT to multi-column GROUP BY.

  • 01

    SELECT & LIMIT

    Your first SQL on a real CSV: SELECT * to see everything, LIMIT to take just a few rows.

  • 02

    Picking columns

    Select only the columns you need and rename them with AS.

  • 03

    WHERE filters

    Filter CSV rows with WHERE: equality, greater/less than, text and numbers.

  • 04

    AND, OR & LIKE

    Combine filters with AND/OR and match text patterns with LIKE and % wildcards.

"Run real SQL on real CSV data — in a browser tab, with nothing installed."
— the whole idea
FAQ

Course questions.

Do I need to install anything?
No — the SQL engine runs in your browser. Open the lesson, write queries.
Locally, in your browser's storage — nothing is sent anywhere, and clearing site data resets it.
No. Your query and a reference query both run on the data and the RESULTS are compared — any query producing the right result passes, whatever aliases or style you use.
A core subset every dialect shares: SELECT, WHERE, GROUP BY, ORDER BY, LIMIT, the five standard aggregates, AS and LIKE. Skills transfer directly to Postgres, MySQL, SQLite and DuckDB.