समूहों को फ़िल्टर करना
Metropolitan Public Library की नई रेटिंग सांख्यिकी फ़ीचर को शानदार प्रतिक्रिया मिली है! लेकिन पाठकों ने शिकायत की है कि जिन पुस्तकों पर केवल एक या दो रिव्यू हैं, उनकी औसत रेटिंग भ्रामक हो सकती है. एक अकेले 5-स्टार रिव्यू वाली किताब उतनी ही उच्च-रेटेड दिखती है जितनी सैकड़ों सकारात्मक रिव्यू वाली पसंदीदा क्लासिक.
लाइब्रेरी डायरेक्टर ने आपसे सिस्टम को बेहतर बनाने के लिए कहा है ताकि उपयोगकर्ता कम रिव्यू वाली पुस्तकों को फ़िल्टर कर सकें.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Java में PostgreSQL डेटाबेस को क्वेरी करना
अभ्यास निर्देश
- क्वेरी को पूरा करें ताकि यह दी गई संख्या के रिव्यू वाली पुस्तकों को फ़िल्टर करे.
- पैरामीटर को सुरक्षित तरीके से सेट करें ताकि कम-से-कम तीन रिव्यू वाली किताबें ही दिखाई दें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
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"));
}
}
}
}
}