
Funkcja MOD
w języku SQL to jedna z prostszych, a jednocześnie bardzo użytecznych operacji matematycznych. Pozwala ona na obliczenie reszty z dzielenia dwóch liczb. W wielu przypadkach jest wykorzystywana do operacji na indeksach, sprawdzania parzystości liczb czy grupowania danych w sposób niestandardowy. W tym artykule przyjrzymy się dokładnie temu, jak działa MOD w języku SQL oraz przedstawimy różne przykłady zastosowania.
Jak działa MOD w języku SQL?
Podstawowe działanie MOD
jest bardzo intuicyjne – funkcja ta oblicza resztę z dzielenia dwóch liczb. Składnia wygląda następująco:
MOD(dividend, divisor)
Gdzie:
- dividend – liczba dzielona (dzielna),
- divisor – liczba przez którą dzielimy (dzielnik).
Rezultatem wywołania funkcji MOD
jest reszta z dzielenia dividend
przez divisor
. Jeśli reszta wynosi 0, oznacza to, że dividend
jest podzielne przez divisor
bez żadnych pozostałości.
Przykłady użycia funkcji MOD
Sprawdzanie parzystości liczb
Aby sprawdzić, czy liczba jest parzysta, można wykorzystać funkcję MOD
w następujący sposób:
SELECT MOD(10, 2) AS wynik;
Rezultat:
wynik |
---|
0 |
Jeśli wynik jest równy 0
, liczba jest parzysta. Analogicznie, jeśli wynik wynosi 1
, liczba jest nieparzysta:
SELECT MOD(11, 2) AS wynik;
Rezultat:
wynik |
---|
1 |
Filtrowanie danych co n-ty rekord
W praktyce MOD
może być użyteczne do wybierania co n-tego wiersza z bazy danych. Na przykład, jeśli chcemy wyświetlić tylko co trzeci rekord z tabeli users
, możemy użyć poniższego zapytania:
SELECT * FROM users WHERE MOD(id, 3) = 0;
To zapytanie zwróci tylko te wiersze, w których pole id
jest podzielne przez 3
.
MOD a różne systemy baz danych
W różnych systemach baz danych funkcja MOD może być implementowana nieco inaczej. Oto kilka przykładów:
- W MySQL oraz PostgreSQL funkcja działa jako
MOD(a, b)
. - W Oracle również jest dostępna jako
MOD(a, b)
. - W SQL Server zamiast
MOD
należy używać operatora%
:
SELECT 10 % 3 AS wynik;
W SQL Server operator %
działa dokładnie tak samo jak MOD
w innych bazach danych.
Podsumowanie
Funkcja MOD
w języku SQL jest prostym, ale bardzo przydatnym narzędziem, które pozwala na operowanie resztą z dzielenia. Możemy wykorzystać ją do sprawdzania parzystości, selekcji co n-tego rekordu w bazie oraz wielu innych operacji matematycznych. Warto jednak pamiętać, że w SQL Server zamiast MOD
używa się operatora %
. Dzięki znajomości tej funkcji możemy efektywnie filtrować i analizować dane w naszych zapytaniach SQL.
Inny ciekawy artykuł:
Jak działa ABS w języku SQL? Przykłady zastosowania
Opanuj SQL z moim kursem!
Poznasz zarówno podstawy, jak i zaawansowane zapytania analityczne (CTE, subqueries, window functions). Nauczysz się pracować na różnych silnikach – na kursie pracujemy zarówno na MySQL, jak i na Postgres. Wszystko zainstalujemy na Twoim komputerze, plus dostaniesz mnóstwo zestawów danych do ćwiczeń.
Zostań analitykiem danych – dołącz do KajoDataSpace!
Najlepsza ścieżka do zawodu analityka danych. Dostęp do pełnych wersji kursów online z Excela, SQLa, Tableau i Pythona z certyfikatami + specjalistycznych webinarów z PowerBI.
Ekskluzywana ale pomagająca sobie społeczność.
Ponad 61 godzin materiałów video.
Spotkania LIVE co miesiąc.
Mój osobisty mentoring.