Začněte nyníZačněte zdarma

Shrnutí dat

Pracuješ jako vývojář/ka pro Metropolitní veřejnou knihovnu. Vedoucí knihovník/knihovnice tě požádal/a o novou funkci online katalogu: zobrazování statistik hodnocení u každé knihy, aby si čtenáři mohli lépe vybírat. Systém momentálně ukládá jednotlivé recenze do tabulky book_reviews, ale zatím není možné zjistit, kolik recenzí konkrétní kniha získala ani jaké je její průměrné hodnocení.

Tvým úkolem je napsat dotaz, který shrne data o recenzích – konkrétně celkový počet recenzí a průměrné hodnocení pro každou knihu.

Toto cvičení je součástí kurzu

Dotazování PostgreSQL databáze v Javě

Zobrazit kurz

Pokyny k cvičení

  • Dopiš dotaz tak, aby počítal počet recenzí a vypočítal průměrné hodnocení.
  • Výsledky seskup podle book_id, aby ses dostal/a ke statistikám pro každou knihu.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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"));
            }
        }
    }
}
Upravit a spustit kód