KWALIFIKACJA INF3 - STYCZEŃ 2022

PYTANIE NR 21.
Funkcja COUNT języka SQL realizuje
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Funkcja COUNT w SQL jest funkcją agregującą, która zwraca liczbę wierszy (rekordów) spełniających warunki zapytania.
Nie służy do liczenia znaków w tekście ani do obliczania średniej czy wartości bezwzględnej — do tego są inne funkcje (np. AVG, ABS).

Pełne wyjaśnienie:

Funkcja COUNT w języku SQL należy do funkcji agregujących. Jej zadaniem jest zwrócenie liczby rekordów (wierszy) uwzględnionych przez zapytanie, czyli takich, które spełniają warunki w klauzuli WHERE lub zostały wyodrębnione w grupach przez GROUP BY.

W praktyce spotyka się różne warianty użycia:

  • COUNT(*) – zlicza wszystkie wiersze zwrócone przez zapytanie.
  • COUNT(kolumna) – zlicza wiersze, w których wskazana kolumna ma wartość niepustą (nie jest NULL).
  • COUNT(DISTINCT kolumna) – zlicza liczbę unikalnych, niepustych wartości w kolumnie.

Odpowiedź "zliczanie rekordów wybranych kwerendą." jest poprawna, bo opisuje typowy efekt działania COUNT: liczność wyniku zapytania (lub liczność elementów w grupie).

Pozostałe odpowiedzi dotyczą innych typów funkcji:

  • "zliczanie znaków w polu tekstowym." – to domena funkcji długości łańcucha (w zależności od silnika, np. LENGTH/CHAR_LENGTH), a nie COUNT.
  • "obliczenie średniej wartości w wybranej kolumnie." – średnią liczy funkcja agregująca AVG, nie COUNT.
  • "obliczenie wartości bezwzględnej w polu liczbowym." – wartość bezwzględną wyznacza funkcja ABS, która działa na pojedynczej wartości liczbowej, a nie na zbiorze wierszy.

Wskazówka egzaminacyjna: jeśli w odpowiedziach pojawiają się AVG, SUM, MIN, MAX i COUNT, to zwykle trzeba rozpoznać, czy pytanie dotyczy agregacji (wynik dla wielu wierszy) czy funkcji "punktowej" (wynik dla jednej wartości).

Dodatkowe pytania

Dodatkowe pytania (FAQ):
COUNT zlicza liczbę wierszy uwzględnionych przez zapytanie lub przez daną grupę wyników. Najczęściej używa się jej do policzenia rekordów spełniających warunek w WHERE albo do zliczeń w raportach z GROUP BY.
COUNT(*) liczy wszystkie wiersze zwrócone przez zapytanie. COUNT(kolumna) liczy tylko te wiersze, w których wskazana kolumna ma wartość różną od NULL. Ta różnica jest częstą pułapką w zadaniach egzaminacyjnych.
COUNT działa na zbiorze wierszy i zwraca liczbę rekordów, a nie długość tekstu. Do liczenia znaków używa się funkcji długości łańcucha (nazwy zależą od silnika bazy). W pytaniach testowych łatwo pomylić "liczenie" z "długością".
Gdy chcesz policzyć liczbę rekordów w każdej grupie, np. liczbę zamówień dla każdego klienta lub liczbę wpisów w każdej kategorii. GROUP BY dzieli dane na grupy, a COUNT zwraca liczność wierszy w każdej z nich.
COUNT(DISTINCT ...) zlicza liczbę unikalnych wartości w kolumnie (zwykle z pominięciem NULL). Stosuje się to np. do policzenia ilu różnych użytkowników wykonało akcję, a nie ile było wszystkich zdarzeń.
Nie. Najpierw zapytanie filtruje rekordy warunkiem WHERE, a dopiero potem COUNT zlicza te, które pozostały w wyniku. Dlatego przy analizie zadań trzeba czytać warunek filtrowania, bo to on decyduje, co jest liczone.
Najczęściej myli się COUNT z AVG lub z funkcjami tekstowymi. Drugi typowy błąd to nieuwzględnienie wartości NULL w COUNT(kolumna). Warto ćwiczyć na przykładach, gdzie część rekordów ma puste pola.
Najprościej użyć zapytania z COUNT, np. w formie SELECT COUNT(*) FROM tabela. To daje liczbę wszystkich wierszy w tabeli. Jeśli dodasz WHERE, policzysz tylko rekordy spełniające warunek, np. aktywnych użytkowników.
AVG zwraca średnią wartość liczbową z wybranych rekordów, a COUNT zwraca liczbę rekordów. Obie funkcje są agregujące i często występują obok siebie, ale mierzą zupełnie inne cechy danych: "ile jest" vs "jaka średnia".
Tak, bardzo. COUNT wykorzystuje się do statystyk i liczników w panelach administracyjnych (np. liczba użytkowników, zamówień, komentarzy), do paginacji (ile rekordów łącznie) oraz do raportów. To jedna z podstawowych funkcji przy pracy z bazą danych.
info

Statystycznie 79% uczniów zna prawidłową odpowiedź. średnio łatwe

Źródła:

  • PostgreSQL Documentation: Aggregate Functions - COUNT, https://www.postgresql.org/docs/current/functions-aggregate.html (dostęp 2026-03-01)
  • MySQL 8.0 Reference Manual: Aggregate (GROUP BY) Functions - COUNT(), https://dev.mysql.com/doc/refman/8.0/en/aggregate-functions.html#function_count (dostęp 2026-03-01)
  • Microsoft Learn: COUNT (Transact-SQL), https://learn.microsoft.com/en-us/sql/t-sql/functions/count-transact-sql (dostęp 2026-03-01)

Materiały:

  • Dokumentacja wybranego silnika bazy danych (sekcja funkcji agregujących)
  • Ćwiczenia z SQL: SELECT + WHERE + GROUP BY
  • Zadania praktyczne: różnice COUNT(*) i COUNT(kolumna) na danych z wartościami NULL

Aktualizacja pytania: 03.04.2026



Aktualizacja pytania: 03.04.2026
📡 Brak połączenia internetowego