Raport kategorii
Treść zadania
Kierownik biblioteki chce raportu kategorii. Dla każdej kategorii, która ma co najmniej dwie książki, wyświetl: nazwę kategorii jako kategoria, liczbę książek jako liczba_ksiazek, średnią cenę zaokrągloną do dwóch miejsc jako srednia_cena oraz sumę egzemplarzy jako egzemplarze.
Połącz tabelę ksiazki z tabelą kategorie. Zastosuj grupowanie po identyfikatorze i nazwie kategorii. Warunek na minimalną liczbę książek umieść w HAVING, a wynik posortuj malejąco po średniej cenie.
Co będzie oceniane
- Raport zawiera nazwę kategorii, liczbę książek, średnią cenę i sumę egzemplarzy.
- Średnia cena jest zaokrąglona do dwóch miejsc po przecinku.
- Uwzględniono tylko kategorie z co najmniej dwiema książkami.
- Wynik jest posortowany malejąco po średniej cenie.
- Kod uruchamia się bez błędu i przechodzi wszystkie testy automatyczne.
Testy automatyczne (1)
- Kategorie z co najmniej dwiema książkami
Zaliczenie: wszystkie testy muszą przejść. Testy uruchamia się przyciskiem „Sprawdź testy” pod kodem.
-- Raport kategorii z co najmniej dwiema książkami
SELECT k.nazwa AS kategoria,
COUNT(*) AS liczba_ksiazek,
... AS srednia_cena,
... AS egzemplarze
FROM ksiazki s
JOIN kategorie k ON ...
GROUP BY ...
HAVING ...
ORDER BY ...;
Wskazówki
Wskazówka 1
W SELECT użyj COUNT(*), ROUND(AVG(s.cena), 2) i SUM(s.stan). Pamiętaj o aliasach, bo test porównuje nazwy kolumn.
Wskazówka 2
Warunek HAVING COUNT(*) >= 2 dotyczy grupy, a nie pojedynczego wiersza, więc nie umieszczaj go w WHERE. Sortowanie ustaw jako ORDER BY srednia_cena DESC.