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

Giảm mẫu xuống mức tuần

Ban quản lý muốn xem mức độ mọi người sử dụng spa trong năm 2020. Họ muốn xem kết quả theo từng tuần, bao gồm tổng số phút sử dụng tiện ích, số người tham dự, và khách hàng có Customer ID lớn nhất trong tuần đó để xem liệu có khách hàng mới đến hay không.

Chúng ta có thể dùng các hàm trong SQL Server để giảm mẫu dữ liệu về một mức cố định như vậy. Một trong các hàm đó là DATEPART().

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

Phân tích chuỗi thời gian trong SQL Server

Xem khóa học

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

  • Giảm mẫu dữ liệu lượt ghé thăm spa theo ngày xuống mức tuần bằng hàm DATEPART().
  • Tìm khách hàng có Customer ID lớn nhất trong một tuần cho trước.
  • Điền mệnh đề GROUP BY với mọi giá trị không được tổng hợp trong mệnh đề SELECT (nhưng không dùng bí danh như AS Week).

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
	-- Downsample to a weekly grain
	___(___, dsv.CustomerVisitStart) AS Week,
	SUM(dsv.AmenityUseInMinutes) AS AmenityUseInMinutes,
	-- Find the customer with the largest customer ID for that week
	___(dsv.___) AS HighestCustomerID,
	COUNT(1) AS NumberOfAttendees
FROM dbo.DaySpaVisit dsv
WHERE
	dsv.CustomerVisitStart >= '2020-01-01'
	AND dsv.CustomerVisitStart < '2021-01-01'
GROUP BY
	-- When we use aggregation functions like SUM or COUNT,
    -- we need to GROUP BY the non-aggregated columns
	___(___, dsv.CustomerVisitStart)
ORDER BY
	Week;
Chỉnh sửa và Chạy Mã