데이터 요약하기
당신은 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"));
}
}
}
}