Meringkas data
Anda adalah pengembang untuk Metropolitan Public Library. Kepala pustakawan meminta fitur baru pada katalog daring: menampilkan statistik penilaian untuk setiap buku agar pengunjung dapat membuat pilihan bacaan yang lebih tepat. Saat ini, sistem menyimpan ulasan individual pada tabel book_reviews; namun, belum ada cara untuk melihat total jumlah ulasan yang diterima sebuah buku atau nilai rata-ratanya.
Tugas Anda adalah menulis kueri yang merangkum data ulasan dengan menghitung total jumlah ulasan dan nilai rata-rata untuk setiap buku.
Latihan ini adalah bagian dari kursus
Melakukan Query ke Basis Data PostgreSQL di Java
Petunjuk latihan
- Lengkapi kueri untuk menghitung jumlah ulasan dan menghitung nilai rata-rata.
- Kelompokkan hasil berdasarkan
book_iduntuk mendapatkan statistik setiap buku.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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"));
}
}
}
}