KWALIFIKACJA INF3 - STYCZEŃ 2024 (test 2)

PYTANIE NR 16.
Efektem wykonania kwerendy dla przedstawionej tabeli rezerwacje jest
Ilustracja przedstawia tabelę wynikową zapytania SQL, które grupuje dane według kolumny 'sezon' i sumuje wartości w kolumnie
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Wynik kwerendy agregującej to zestawienie dla każdej wartości pola grupującego (np. sezon). Jeśli zapytanie grupuje dane na "lato" i "zima" oraz sumuje wskazane wartości liczbowe, rezultat powinien zawierać po jednej sumie na sezon, czyli "lato 20, zima 27", a nie listę rekordów źródłowych.

Pełne wyjaśnienie:

W tego typu zadaniach kwerenda jest zwykle kwerendą agregującą, czyli taką, która:

  • grupuje rekordy według wybranego pola (np. sezon: "lato", "zima"),
  • następnie wylicza jedną wartość podsumowania dla każdej grupy, korzystając z funkcji agregującej (np. SUM lub COUNT).

Dlatego poprawny wynik ma postać krótkiego zestawienia: po jednym wierszu na sezon, np. "lato 20, zima 27". Taki zapis oznacza, że po zsumowaniu (albo innym podsumowaniu zgodnym z kwerendą) wszystkich rekordów należących do grupy "lato" otrzymano 20, a dla grupy "zima" 27.

Odpowiedzi błędne zwykle wynikają z jednego z typowych nieporozumień:

  • Wariant "lato 3, zima 4" pasuje do sytuacji, gdy ktoś zlicza liczbę rekordów (COUNT) zamiast sumować wartości (SUM), albo bierze pod uwagę tylko część danych.
  • Wariant "lato 10, 5, 5; zima 4, 6, 9, 8" wygląda jak wypisanie wartości z poszczególnych rekordów z tabeli, czyli brak zrozumienia, że agregacja ma dać jedną liczbę na grupę.
  • Wariant "lato 10, zima 4, ..." to również lista rekordów (tyle że przepleciona sezonami), a nie wynik grupowania – przy GROUP BY rekordy są redukowane do wierszy podsumowań.

Wskazówka egzaminacyjna: gdy w kwerendzie widzisz grupowanie po polu tekstowym (np. sezon) i agregat (SUM/COUNT/AVG), spodziewaj się małej liczby wierszy w wyniku – tyle, ile jest różnych wartości w polu grupującym.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Kwerenda agregująca to zapytanie, które łączy wiele rekordów w grupy (np. według sezonu) i wylicza dla każdej grupy jedną wartość podsumowania, np. SUM, COUNT lub AVG. Wynik ma zwykle mniej wierszy niż tabela źródłowa.
GROUP BY grupuje rekordy o tych samych wartościach wskazanego pola (np. "lato", "zima"). Dzięki temu można policzyć podsumowania dla każdej grupy, np. sumę rezerwacji na sezon. Bez GROUP BY agregacja dotyczyłaby całego zbioru danych.
Jeśli zapytanie grupuje dane po polu sezon, to każdy sezon tworzy osobną grupę. Funkcja agregująca (np. SUM) zwraca jedną liczbę na grupę, więc w wyniku pojawia się po jednej wartości dla "lato" i dla "zima", zamiast listy wielu rekordów.
Taki zapis oznacza podsumowanie dla dwóch grup: dla sezonu "lato" wyliczona wartość (np. suma wskazanego pola liczbowego) wynosi 20, a dla sezonu "zima" wynosi 27. To typowy format zestawienia po zastosowaniu GROUP BY.
SUM dodaje wartości z pola liczbowego (np. liczba osób), a COUNT zlicza rekordy (ile wierszy spełnia warunek). Błąd polega na tym, że COUNT może dać małe liczby (np. 3, 4), a SUM większe (np. 20, 27), zależnie od danych.
Najczęściej uczniowie mylą wynik agregacji z listą rekordów, nie zauważają grupowania (GROUP BY) lub mylą funkcje agregujące (SUM vs COUNT). Zdarza się też pomijanie części rekordów przez nieuwagę na warunek WHERE albo błędne łączenie tabel w zapytaniu.
Sprawdź, czy w zapytaniu występuje grupowanie (GROUP BY / "Wiersz sumy") oraz funkcje agregujące (SUM, COUNT, AVG). Jeśli tak, wynik jest podsumowaniem (mało wierszy). Jeśli ich nie ma, zwykle dostaniesz listę rekordów spełniających warunki.
W aplikacjach WWW i panelach administracyjnych takie podsumowania stosuje się do raportów biznesowych: porównanie sezonów, analiza obciążenia, planowanie zasobów i promocji. Zapytanie agregujące pozwala szybko pobrać dane do wykresu lub raportu bez ręcznego liczenia.
W praktyce w SELECT mogą być: pola grupujące (np. sezon) oraz wartości liczone agregatami (np. SUM(liczba)). Pola, które nie są agregowane, muszą zwykle pojawić się w GROUP BY. Dzięki temu wynik jest jednoznaczny i spójny z zasadami SQL.
Najpierw ustal, czy jest filtr (WHERE), potem czy jest grupowanie (GROUP BY), a następnie jaka agregacja jest liczona (SUM/COUNT). Na końcu zinterpretuj wynik: ile będzie wierszy (tyle, ile grup) i jakie liczby powstaną po podsumowaniu. To minimalizuje pomyłki.
info

Statystycznie 49% uczniów zna prawidłową odpowiedź. trudne

Eksperci podkreślają: "Wynik kwerendy agregującej to zestawienie dla każdej wartości pola grupującego (np. sezon)."

Źródła:

  • Microsoft Support: "Sumowanie danych w kwerendzie (wiersz Sumy)" (dot. kwerend sumujących w Access) https://support.microsoft.com/pl-pl/office/sumowanie-danych-w-kwerendzie-6bcf72c1-3d46-4a18-a7f0-0c2e17d2b6bd - dostęp 2026-03-01
  • Microsoft Support: "Tworzenie kwerendy sumującej" (kwerendy agregujące i grupowanie) https://support.microsoft.com/pl-pl/office/tworzenie-kwerendy-sumuj%C4%85cej-6a01b4ce-5ed1-4ac6-a3dd-1c6081b4a128 - dostęp 2026-03-01
  • PostgreSQL Documentation: "GROUP BY" (zasady grupowania i agregacji) https://www.postgresql.org/docs/current/queries-table-expressions.html#QUERIES-GROUPING-SETS - dostęp 2026-03-01

Materiały:

  • dokumentacja funkcji agregujących i GROUP BY dla używanego silnika bazy danych
  • materiały kursowe INF.3 z działu: bazy danych i kwerendy
  • ćwiczenia praktyczne: tworzenie kwerend sumujących i zliczających na prostych tabelach

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego