開始使用免費開始

篩選群組

大都會公共圖書館的新評分統計功能大受歡迎!不過,有讀者反映:只有 1 或 2 則評論的書,平均分數可能會誤導人。只有一則 5 星評論的書,看起來和有上百則好評的經典一樣高分。

館長請你強化系統,讓使用者可以排除評論數不足的書籍。

本練習屬於課程

在 Java 中查詢 PostgreSQL 資料庫

檢視課程

練習說明

  • 完成查詢,以依指定的評論數篩選書籍。
  • 安全地設定參數,只顯示至少有 3 則評論的書籍。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

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"));
                }
            }
        }
    }
}
編輯並執行程式碼