Raport kar według klas
Treść zadania
Dyrektor prosi o raport kar bibliotecznych według klas. Dla każdej klasy wyświetl: nazwę klasy jako klasa, liczbę wypożyczeń jako wypozyczenia, sumę kar jako suma_kar oraz średnią karę zaokrągloną do dwóch miejsc jako srednia_kara.
Połącz tabele klasy, uczniowie i wypozyczenia. Grupuj po identyfikatorze i nazwie klasy. Uwzględnij wszystkie klasy, nawet jeśli suma kar wynosi zero. Posortuj wynik malejąco po sumie kar, a przy równych sumach rosnąco po nazwie klasy.
Co będzie oceniane
- Raport zawiera nazwę klasy, liczbę wypożyczeń, sumę i średnią kar.
- Połączono trzy tabele po właściwych kluczach.
- Średnia kara jest zaokrąglona do dwóch miejsc po przecinku.
- Wynik jest posortowany malejąco po sumie kar, a przy równych sumach rosnąco po nazwie klasy.
- Kod uruchamia się bez błędu i przechodzi wszystkie testy automatyczne.
Testy automatyczne (1)
- Liczba wypożyczeń i kary w każdej klasie
Zaliczenie: wszystkie testy muszą przejść. Testy uruchamia się przyciskiem „Sprawdź testy” pod kodem.
-- Raport kar według klas
SELECT k.nazwa AS klasa,
COUNT(w.id) AS wypozyczenia,
... AS suma_kar,
... AS srednia_kara
FROM klasy k
JOIN uczniowie u ON ...
JOIN wypozyczenia w ON ...
GROUP BY ...
ORDER BY ...;
Wskazówki
Wskazówka 1
Łańcuch połączeń to klasy k JOIN uczniowie u ON u.klasa_id = k.id, a następnie JOIN wypozyczenia w ON w.uczen_id = u.id.
Wskazówka 2
Użyj COUNT(w.id), SUM(w.kara) i ROUND(AVG(w.kara), 2). Sortowanie: ORDER BY suma_kar DESC, klasa.