ComenzarEmpieza gratis

Filtrar los grupos

¡La nueva función de estadísticas de valoraciones de la Biblioteca Pública Metropolitana está triunfando! Sin embargo, algunas personas se han quejado de que los libros con una o dos reseñas pueden tener medias engañosas. Un libro con una única reseña de 5 estrellas aparece tan bien valorado como un clásico querido con cientos de reseñas positivas.

La dirección de la biblioteca te ha pedido mejorar el sistema para permitir que los usuarios excluyan los libros con un número insuficiente de reseñas.

Este ejercicio forma parte del curso

Consultas a una base de datos PostgreSQL en Java

Ver curso

Instrucciones del ejercicio

  • Completa la consulta para filtrar libros con un número determinado de reseñas.
  • Establece de forma segura el parámetro para mostrar solo libros con al menos tres reseñas.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

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"));
                }
            }
        }
    }
}
Editar y ejecutar código