MulaiMulai sekarang secara gratis

Memfilter grup

Fitur statistik penilaian baru milik Metropolitan Public Library mendapat sambutan hangat! Namun, para pengunjung mengeluhkan bahwa buku dengan hanya satu atau dua ulasan dapat menghasilkan rata-rata yang menyesatkan. Sebuah buku dengan satu ulasan bintang 5 tampak sama tinggi nilainya dengan karya klasik yang dicintai banyak orang dengan ratusan ulasan positif.

Direktur perpustakaan meminta Anda meningkatkan sistem dengan memungkinkan pengguna menyaring buku-buku yang jumlah ulasannya tidak memadai.

Latihan ini adalah bagian dari kursus

Melakukan Query ke Basis Data PostgreSQL di Java

Lihat Kursus

Petunjuk latihan

  • Lengkapi kueri untuk memfilter buku berdasarkan jumlah ulasan yang ditentukan.
  • Atur parameter secara aman agar hanya menampilkan buku dengan minimal tiga ulasan.

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 = """
            SELECT book_id, COUNT(*), AVG(rating)
            FROM book_reviews
            GROUP BY book_id
            -- Filter books with a specified number of reviews
            ____ count(*) >= ?
            """;

        try (Connection conn = ds.getConnection();
             PreparedStatement pstmt = conn.prepareStatement(query)) {
            // Display books with at least three reviews
            pstmt.____(____, ____);
            try (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"));
                }
            }
        }
    }
}
Edit dan Jalankan Kode