시작하기무료로 시작하기

데이터 요약하기

당신은 Metropolitan Public Library의 개발자입니다. 수석 사서가 온라인 카탈로그에 새로운 기능을 요청했어요. 이용자들이 더 나은 선택을 할 수 있도록, 각 도서의 평점 통계를 표시하고자 합니다. 현재 시스템은 개별 리뷰를 book_reviews 테이블에 저장하고 있지만, 각 도서가 받은 전체 리뷰 수나 평균 평점을 확인하는 방법이 없습니다.

여러분의 과제는 각 도서별로 리뷰 데이터를 요약하여, 전체 리뷰 수와 평균 평점을 계산하는 쿼리를 작성하는 것입니다.

이 연습은 강의의 일부입니다

Java에서 PostgreSQL 데이터베이스 질의하기

강의 보기

연습 안내

  • 리뷰 수를 세고 평균 평점을 계산하도록 쿼리를 완성하세요.
  • 각 도서의 통계를 얻기 위해 결과를 book_id로 그룹화하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

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"));
            }
        }
    }
}
코드 편집 및 실행