Daten zusammenfassen
Du arbeitest als Entwickler bei der Metropolitan Public Library. Die leitende Bibliothekarin hat eine neue Funktion für den Online-Katalog angefragt: Für jedes Buch sollen Bewertungsstatistiken angezeigt werden, damit Leser fundierte Entscheidungen treffen können. Derzeit speichert das System einzelne Rezensionen in der Tabelle book_reviews; es gibt jedoch keine Möglichkeit, die Gesamtzahl der erhaltenen Rezensionen oder die durchschnittliche Bewertung eines Buches anzuzeigen.
Deine Aufgabe ist es, eine Abfrage zu schreiben, die die Rezensionsdaten zusammenfasst, indem sie die Gesamtzahl der Rezensionen und die durchschnittliche Bewertung für jedes Buch berechnet.
Diese Übung ist Teil des Kurses
Abfragen einer PostgreSQL-Datenbank in Java
Anleitung zur Übung
- Vervollständige die Abfrage, um die Anzahl der Rezensionen zu zählen und die durchschnittliche Bewertung zu berechnen.
- Gruppiere die Ergebnisse nach
book_id, um Statistiken für jedes Buch zu erhalten.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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"));
}
}
}
}