Zacznij terazZacznij za darmo

Podsumowanie danych

Jesteś programistą w Miejskiej Bibliotece Publicznej. Kierownik biblioteki poprosił o nową funkcję w katalogu online: wyświetlanie statystyk ocen dla każdej książki, aby czytelnicy mogli podejmować świadome decyzje czytelnicze. Obecnie system przechowuje pojedyncze recenzje w tabeli book_reviews, ale nie ma możliwości sprawdzenia, ile recenzji zebrała dana książka ani jaka jest jej średnia ocena.

Twoim zadaniem jest napisanie zapytania, które podsumuje dane o recenzjach – obliczając łączną liczbę recenzji oraz średnią ocenę dla każdej książki.

To ćwiczenie jest częścią kursu

Zapytania do bazy danych PostgreSQL w Javie

Zobacz kurs

Instrukcje do ćwiczenia

  • Uzupełnij zapytanie, aby zliczyć liczbę recenzji i obliczyć średnią ocenę.
  • Pogrupuj wyniki według book_id, aby uzyskać statystyki dla każdej książki.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

public class Main {
    public static void main(String[] args) throws SQLException {
        HikariDataSource ds = HikariSetup.createDataSource();
        String query = """
            --  Count the number of reviews and the average rating
            SELECT book_id, ____(*), ____(rating)
            FROM book_reviews
            -- Group reviews by book_id
            ____ ____ ____;
            """;

        try (Connection conn = ds.getConnection();
             PreparedStatement pstmt = conn.prepareStatement(query);
             ResultSet rs = pstmt.executeQuery()) {
            while (rs.next()) {
                System.out.printf("ID: %d, Count: %d, Average: %.0f%n",
                        rs.getInt("book_id"), rs.getInt("count"), rs.getDouble("avg"));
            }
        }
    }
}
Edytuj i uruchom kod