ID: 1728 Bazy danych Łatwe

Źródło: Arkusze CKE

Dana jest tabela uczniowie o polach id, nazwisko, imie, klasa. Które zapytanie SQL wyświetli liczbę osób w poszczególnych klasach oraz nazwę klasy?

Warianty odpowiedzi

  1. A

    A. SELECT SUM(id), klasa FROM uczniowie GROUP BY klasa;

  2. B

    B. SELECT SUM(id), klasa FROM uczniowie ORDER BY klasa;

  3. C

    C. SELECT COUNT(id), klasa FROM uczniowie GROUP BY klasa;

  4. D

    D. SELECT COUNT(id), klasa FROM uczniowie ORDER BY klasa;

Wyjaśnienie

Gdy musisz pogrupować dane i wykonać na nich zliczenie, zawsze łączysz funkcję COUNT z klauzulą GROUP BY.

Klauzula GROUP BY klasa dzieli wszystkie rekordy z tabeli na osobne grupy (po jednej dla każdej klasy). Następnie funkcja COUNT(id) zlicza, ile osób znajduje się w każdej z tak utworzonych grup.

Funkcja SUM się tu nie nadaje, bo służy do dodawania wartości liczbowych (np. sumowania zarobków), a ORDER BY odpowiada jedynie za sortowanie wyników na ekranie.

Sprawdź się w praktyce

Rozwiąż pełny test próbny INF.03 albo wylosuj pojedyncze pytanie na szybką powtórkę.

Podobne pytania — Bazy danych