
Funkcja MINUTE w języku SQL to jedno z podstawowych narzędzi, które pozwala na pracę z wartościami czasowymi. W wielu sytuacjach przydaje się do analizy danych opartych na czasie, wyciągania kluczowych informacji z daty i godziny oraz agregowania raportów. W tym artykule wyjaśnię, jak działa MINUTE w SQL oraz pokażę konkretne przykłady zastosowania.
Co robi funkcja MINUTE w SQL?
Funkcja MINUTE()
służy do wyodrębnienia liczby minut z wartości typu DATETIME
lub TIME
. Zwraca ona wartość całkowitą reprezentującą liczbę minut znajdującą się w podanej dacie czy czasie.
Jeśli mamy np. wartość '2024-06-01 15:45:30'
, zastosowanie funkcji MINUTE()
zwróci 45
, ponieważ oznacza ona minutę w formacie godzinowym.
Składnia funkcji MINUTE
SELECT MINUTE(nazwa_kolumny) FROM nazwa_tabeli;
Lub dla wyrażenia bezpośrednio w zapytaniu:
SELECT MINUTE('2024-06-01 12:30:45') AS wynik;
W zależności od bazy danych składnia może się nieznacznie różnić, ale w większości przypadków wygląda podobnie.
Przykłady zastosowania funkcji MINUTE
1. Pobieranie minut z wartości DATETIME
SELECT MINUTE('2024-06-01 18:22:10') AS minuta;
Wynik:
minuta |
---|
22 |
2. Pobieranie minut z kolumny w tabeli
Załóżmy, że mamy tabelę logi_systemowe
z kolumną czas_logowania
. Chcemy uzyskać minuty z godzin logowania użytkowników.
SELECT MINUTE(czas_logowania) AS minuta_logowania FROM logi_systemowe;
Wynik może wyglądać tak:
minuta_logowania |
---|
12 |
45 |
59 |
3. Grupowanie danych po minucie
Jeśli chcemy policzyć, ilu użytkowników logowało się w poszczególnych minutach, możemy zastosować funkcję COUNT()
wraz z MINUTE()
:
SELECT MINUTE(czas_logowania) AS minuta, COUNT(*) AS liczba_logowan
FROM logi_systemowe
GROUP BY MINUTE(czas_logowania)
ORDER BY minuta;
Zapytanie to zwróci podział liczby logowań według minuty.
4. Filtrowanie rekordów wg minuty
Możemy także wybrać tylko te rekordy, które mają konkretną wartość minutową:
SELECT * FROM logi_systemowe WHERE MINUTE(czas_logowania) = 30;
To zapytanie zwróci wszystkie wpisy, gdzie w kolumnie czas_logowania
minuty wynoszą dokładnie 30.
Najczęstsze błędy i rozwiązania
1. Błąd typu danych
Funkcja MINUTE()
działa tylko na wartościach typu DATETIME
i TIME
. Jeśli spróbujemy przekazać inny typ, otrzymamy błąd.
SELECT MINUTE('tekst_nie_bedacy_data');
Rozwiązaniem jest konwersja do formatu czasu za pomocą STR_TO_DATE()
(w MySQL) lub CAST()
(w SQL Server).
2. Zapomniane aliasy
Podczas pracy z funkcją możemy dodać alias, aby nazwa kolumny wynikowej była bardziej czytelna:
SELECT MINUTE(czas_logowania) AS minuta FROM logi_systemowe;
Podsumowanie
Funkcja MINUTE w SQL to proste, ale skuteczne narzędzie do pracy z danymi czasowymi. Dzięki niej możemy:
- Wydobywać liczbę minut z wartości czasowych,
- Grupować dane według minut,
- Filtrować rekordy w zależności od minuty w czasie,
- Analizować trendy w danych opartych na czasie.
Dzięki funkcji MINUTE()
, analiza logów, raportowanie czy nawet proste filtrowanie stają się znacznie łatwiejsze. Warto zapamiętać jej działanie i stosować ją tam, gdzie precyzja czasowa ma znaczenie.
Inny ciekawy artykuł:
Jak działa HOUR 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.