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, kursun bir parçasıdır
Java ile PostgreSQL Veritabanına Sorgu Yazma
Egzersiz 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ı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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"));
}
}
}
}