SQL MOD

The function-call form of the % operator — MOD(a, b) does exactly the same job as a % b.

What & Why

MOD(a, b) is functionally identical to a % b — both return the remainder after division. This is the same pattern seen throughout this track: an operator and an equivalent function existing side by side, differing only in syntax.

See How It Works

BUSINESS QUESTION

Growth wants users assigned to one of four deterministic review buckets.

idcreated_atcountrychannelplanactivated_atchurned_at
1012024-01-15 09:10:00+00USorganicpro2024-01-16 14:25:00+00NULL
1022024-02-10 11:05:00+00CApaidfreeNULL2024-03-20 10:00:00+00
1032024-03-12 16:35:00+00GBreferralpro2024-03-13 08:15:00+00NULL
1042024-04-01 13:20:00+00USorganicfree2024-04-03 12:00:00+00NULL
EXAMPLE QUERY
SELECT
  id AS user_id,
  MOD(id, 4) AS review_bucket
FROM growth.users
ORDER BY user_id;
RESULT — exact output from the displayed Queryflo rows
user_idreview_bucket
1011
1022
1033
1040

MOD assigns the displayed users to deterministic review buckets.

Now You Try

Practice this concept

Growth wants users assigned to one of four deterministic review buckets.

Available schema
growth

Prefix tables with growth.table_name.

user_idreview_bucket
growth.users
ColumnType
idinteger
created_attimestamp with time zone
countrytext
channeltext
plantext
activated_attimestamp with time zone
churned_attimestamp with time zone
legacy_user_codetext
query.sql
Intermediate business practice

Sign up free to try it on a real business scenario