Функция MOD
Функция MOD находит остаток от деления
одного числа на другое. Вместо MOD можно
использовать операцию %, которая делает то
же самое.
Синтаксис
Функция MOD:
SELECT MOD(что_делить, на_что_делить) FROM имя_таблицы WHERE условие
Альтернативный синтаксис с %:
SELECT что_делить % на_что_делить FROM имя_таблицы WHERE условие
Таблицы для примеров
| id айди |
number число |
|---|---|
| 1 | 10 |
| 2 | 8 |
| 3 | 11 |
Пример
В данном примере находится остаток от деления
столбца number на 3:
SELECT *, MOD(number, 3) as mod FROM numbers
Результат выполнения кода:
| id айди |
number число |
mod остаток от деления |
|---|---|---|
| 1 | 10 | 1 |
| 2 | 8 | 2 |
| 3 | 11 | 2 |
Запрос можно переписать следующим образом:
SELECT id, number % 3 as mod FROM 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
Результат выполнения кода:
| 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
Результат выполнения кода:
| id айди |
number1 число1 |
number2 число2 |
|---|---|---|
| 1 | 10 | 3 |
| 3 | 14 | 4 |
Запрос можно переписать следующим образом:
SELECT * FROM numbers WHERE number1 % number2 <= 2