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

Lấy giá trị đầu tiên và cuối cùng

Các hàm phân tích trả về giá trị đầu tiên hoặc cuối cùng từ một danh sách có sắp xếp rất hữu ích trong truy vấn. Trong bài tập này, bạn sẽ làm quen với chúng. Cú pháp là:

  • FIRST_VALUE(numeric_expression) OVER ([PARTITION BY column] ORDER BY column ROW_or_RANGE frame)

  • LAST_VALUE(numeric_expression) OVER ([PARTITION BY column] ORDER BY column ROW_or_RANGE frame)

Bạn sẽ viết một truy vấn để lấy tất cả cử tri từ Spain và USA. Sau đó, bạn sẽ thêm vào truy vấn một số câu lệnh để lấy ngày sinh của cử tri trẻ nhất và lớn tuổi nhất ở mỗi quốc gia. Bạn muốn hiển thị các giá trị này trên từng hàng để có thể so sánh với ngày sinh của từng cử tri.

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

Các hàm thao tác dữ liệu trong SQL Server

Xem khóa học

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

  • Lấy ngày sinh của cử tri lớn tuổi nhất ở mỗi quốc gia.
  • Lấy ngày sinh của cử tri trẻ nhất ở mỗi quốc gia.

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.

SELECT 
	first_name + ' ' + last_name AS name,
	country,
	birthdate,
	-- Retrieve the birthdate of the oldest voter per country
	___(birthdate) 
	OVER (PARTITION BY ___ ORDER BY ___) AS oldest_voter,
	-- Retrieve the birthdate of the youngest voter per country
	___(___) 
		OVER (___ country ORDER BY ___ ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
				) AS youngest_voter
FROM voters
WHERE country IN ('Spain', 'USA');
Chỉnh sửa và Chạy Mã