Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Programowanie webowe Bazy danych

Wynikiem wykonania kwerendy

SELECT sezon, COUNT(*) FROM rezerwacje GROUP BY sezon;
na podstawie poniższej tabeli rezerwacje jest:

rezerwacje
sezonliczba_dn
lato10
zima4
lato5
zima6
lato5
zima9
zima8
A. lato 10, 5, 5; zima 4, 6, 9, 8
B. lato 20, zima 27
C. lato 3, zima 4
D. 7
Poprawny wynik to lato 3, zima 4. Klauzula GROUP BY sezon dzieli rekordy tabeli na grupy według wartości w kolumnie sezon. Następnie funkcja agregująca COUNT(*) zlicza liczbę wierszy w każdej takiej grupie. W tabeli występują trzy rekordy z wartością lato oraz cztery rekordy z wartością zima, dlatego wynikiem są właśnie te liczności. Kolumna liczba_dn nie jest w tej kwerendzie sumowana ani wypisywana - nie znajduje się w SELECT poza funkcją agregującą. Do zapamiętania: COUNT(*) oznacza liczbę rekordów, a nie sumę wartości liczbowych. W praktyce takie zapytania stosuje się np. do zliczania zamówień, rezerwacji lub użytkowników w podziale na kategorię.
W tej kwerendzie decydujące znaczenie ma funkcja COUNT(*), a nie wartości zapisane w kolumnie liczba_dn. Wynik lato 20, zima 27 odpowiadałby zapytaniu z SUM(liczba_dn) oraz GROUP BY sezon, ponieważ 10 + 5 + 5 = 20 dla lata, a 4 + 6 + 9 + 8 = 27 dla zimy. Wynik lato 10, 5, 5; zima 4, 6, 9, 8 przedstawia wartości liczba_dn pogrupowane opisowo według sezonu, ale nie jest wynikiem SELECT sezon, COUNT(*). Wynik 7 byłby właściwy dla zliczenia wszystkich rekordów w tabeli, np. SELECT COUNT(*) FROM rezerwacje, bez podziału na sezon. Poprawny wynik to lato 3, zima 4. Typowy błąd polega na utożsamieniu GROUP BY z wypisaniem wartości z grupy albo na pomyleniu COUNT(*) z SUM(kolumna). COUNT(*) liczy wiersze należące do danej grupy.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.