Функция MOD находит остаток от деления одного числа на другое.

Вместо MOD можно использовать операцию %, которая делает то же самое.

Синтаксис

Функция MOD:

SELECT MOD(что_делить, на_что_делить) FROM имя_таблицы WHERE условие

Альтернативный синтаксис с %:

SELECT что_делить % на_что_делить FROM имя_таблицы WHERE условие

Примеры

Первый пример будет по этой таблице numbers:

id
айди
number
число
1 10
2 8
3 11

Пример

В данном примере находится остаток от деления столбца number на 3:

SELECT *, MOD(number, 3) as mod FROM numbers

SQL запрос выберет следующие строки:

id
айди
number
число
mod
остаток от деления
1 10 1
2 8 2
3 11 2

Запрос можно переписать следующим образом:

SELECT id, number % 3 as mod FROM numbers

Меняем таблицу для примеров

Остальные примеры будут по этой таблице numbers:

id
айди
number1
число1
number2
число2
1 10 3
2 8 5
3 14 4

Пример

В данном примере находится остаток от деления столбца number1 на number2:

SELECT *, MOD(number1, number2) as mod FROM numbers

SQL запрос выберет следующие строки:

id
айди
number1
число1
number2
число2
mod
остаток от деления
1 10 3 1
2 8 5 3
3 14 4 2

Запрос можно переписать следующим образом:

SELECT *, number1 % number2 as mod FROM numbers

Пример

Давайте выберем только те записи, в которых остаток от деления первого числа на второе меньше или равен двум (это будут 1-я и 3-я записи):

SELECT * FROM numbers WHERE MOD(number1, number2)<=2

SQL запрос выберет следующие строки:

id
айди
number1
число1
number2
число2
1 10 3
3 14 4

Запрос можно переписать следующим образом:

SELECT * FROM numbers WHERE number1 % number2 <= 2