Level 398 of 415
SQL: A SQL query
Indentation is part of the exercise. Press Enter at the end of each line and use spaces, never Tab.
- Target
- 38 WPM
- Accuracy
- 96.6%
- XP
- 105
FROM typing_sessions↵
WHERE created_at >= '2026-01-01'↵
GROUP BY user_id↵
HAVING COUNT(*) > 5↵
ORDER BY mean_wpm DESC;
Click here or press Tab to start typing
Notes on this level
Which finger types each key
A browser can only report which character was typed, never which finger pressed it. That is why this lesson blocks on the wrong key rather than claiming to detect the wrong finger — the finger is something you have to build the habit for, and the table below is the habit to build.
- (
- Right ring finger, number row — reaching up from L, with Shift held by the opposite hand's little finger.
- )
- Right pinky finger, number row — reaching up from ;, with Shift held by the opposite hand's little finger.
- ,
- Right middle finger, bottom row — reaching down from K.
- ;
- Right pinky finger, home row — where the right pinky finger already rests.
- =
- Right pinky finger, number row — reaching up from ;.
- >
- Right ring finger, bottom row — reaching down from L, with Shift held by the opposite hand's little finger.
- *
- Right middle finger, number row — reaching up from K, with Shift held by the opposite hand's little finger.
What these symbols are for
Punctuation and symbols are where most typists slow down, because they combine the weakest fingers with the Shift key and appear too rarely for the habit to form by accident.
- (
- opens a bracketed aside, and opens an argument list in code.
- )
- closes a bracketed aside or an argument list.
- ,
- separates items in a list.
- ;
- separates clauses, and ends a statement in many programming languages.
- =
- assigns or asserts equality.
- >
- means “greater than”, and closes an HTML tag.
- *
- means multiply, and stands for “any characters” when searching or matching filenames.
Where the mistakes come from
Errors are rarely random. A wrong key is usually the right finger travelling the wrong distance in its own column, which is why the fix is control rather than slowing down everywhere.
- (
- Most often mistyped as o, l, . — the other keys the right ring finger is responsible for.
- )
- Most often mistyped as -, =, p, [, ], \, ;, ', / — the other keys the right pinky finger is responsible for.
- ,
- Most often mistyped as 8, i, k — the other keys the right middle finger is responsible for.
- ;
- Most often mistyped as 0, -, =, p, [, ], \, ', / — the other keys the right pinky finger is responsible for.
- =
- Most often mistyped as 0, -, p, [, ], \, ;, ', / — the other keys the right pinky finger is responsible for.
- >
- Most often mistyped as 9, o, l — the other keys the right ring finger is responsible for.
- *
- Most often mistyped as i, k, , — the other keys the right middle finger is responsible for.
Stuck on this level?
Most difficulty at this stage is technique rather than effort. These explain the technique.
- Keyboard finger placement chartWhich finger types which key, and why the home row matters.
- How to learn touch typingWhat actually works, what to ignore, and how long it takes.
- Free typing speed testMeasure WPM, accuracy and consistency in 15 seconds to 5 minutes.
- Typing gamesFour games that drill speed, accuracy and weak fingers.