Skip to content

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
WPM0
Accuracy0.0%
Time0:00
Raw0
Consistency0%
SELECT user_id, COUNT(*) AS sessions, AVG(wpm) AS mean_wpm
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.

Most difficulty at this stage is technique rather than effort. These explain the technique.