Bắt đầu ngayBắt đầu miễn phí

Sắp xếp dữ liệu

Tính năng tìm kiếm của CityBook Libraries hoạt động tốt, nhưng người dùng muốn sắp xếp kết quả theo năm xuất bản theo thứ tự tăng dần hoặc giảm dần. Bạn sẽ xây dựng truy vấn động để xử lý cả hai chiều sắp xếp.

Lớp HikariSetup đã được cấu hình sẵn cho bạn.

Bài tập này là một phần của khóa học

Truy vấn cơ sở dữ liệu PostgreSQL trong Java

Xem khóa học

Hướng dẫn bài tập

  • Hoàn thiện truy vấn để sắp xếp kết quả theo publication_year.
  • Mở rộng truy vấn để sắp xếp tăng dần hoặc giảm dần tùy theo biến ascending đại diện cho đầu vào của người dùng.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

public class Main {
    public static void main(String[] args) throws SQLException {
        HikariDataSource ds = HikariSetup.createDataSource();
        
        boolean ascending = true;
        
        // Order by the publication_year in ascending order
        String query = """
            SELECT *
            FROM books
            WHERE publication_year >= ?
                AND status = 'available'
            ____ ____ ____
            """;
        
        // Sort depending on the ascending parameter
        query += ____ ? "____" : "____";
        
        try (Connection conn = ds.getConnection();
             PreparedStatement pstmt = conn.prepareStatement(query)) {
            pstmt.setInt(1, 2000);
            try (ResultSet rs = pstmt.executeQuery()) {
                while (rs.next()) {
                    System.out.printf("ID: %d, Title: %s (%d)%n", rs.getInt("book_id"), rs.getString("title"), rs.getInt("publication_year"));
                }
            }
        }
    }
}
Chỉnh sửa và Chạy Mã