Verileri özetleme
Metropolitan Halk Kütüphanesi'nde geliştiricisin. Baş kütüphaneci, çevrim içi katalog için yeni bir özellik istedi: Okurların bilinçli seçimler yapabilmesi için her kitap için puanlama istatistiklerinin gösterilmesi. Şu anda sistem, tekil incelemeleri book_reviews tablosunda saklıyor; ancak bir kitabın toplam kaç inceleme aldığı ya da ortalama puanının ne olduğu görülemiyor.
Görevin, her kitap için toplam inceleme sayısını ve ortalama puanı hesaplayarak inceleme verilerini özetleyen bir sorgu yazmak.
Bu egzersiz
Java ile PostgreSQL Veritabanına Sorgu Yazma
kursunun bir parçasıdırEgzersiz talimatları
- Sorguyu tamamlayarak inceleme sayısını say ve ortalama puanı hesapla.
- Her kitap için istatistikleri almak üzere sonuçları
book_idile grupla.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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"));
}
}
}
}