Biến thiên theo ngày trong tuần
Thời gian để hoàn thành một yêu cầu có thay đổi theo ngày trong tuần mà yêu cầu được tạo hay không?
Bạn có thể lấy tên ngày trong tuần bằng cách chuyển đổi timestamp sang dữ liệu dạng ký tự:
to_char(date_created, 'day')
Nhưng tên ngày trong tuần ở dạng ký tự sẽ được sắp xếp theo thứ tự chữ cái thay vì thứ tự thời gian. Để có thứ tự thời gian của các ngày trong tuần với một giá trị số nguyên cho mỗi ngày, bạn có thể dùng:
EXTRACT(DOW FROM date_created)
DOW là viết tắt của "day of week" (ngày trong tuần).
Bài tập này là một phần của khóa học
Phân tích Khám phá Dữ liệu bằng SQL
Hướng dẫn bài tập
- Chọn tên của ngày trong tuần khi yêu cầu được tạo (
date_created) đặt làday. - Chọn thời gian trung bình giữa lúc hoàn thành yêu cầu (
date_completed) và lúc tạo yêu cầu làmduration. - GROUP BY theo
day(tên ngày trong tuần) và giá trị số nguyên của ngày trong tuần (dùng một hàm). - ORDER BY theo giá trị số nguyên của ngày trong tuần, dùng cùng hàm như trong
GROUP BY.
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 name of the day of the week the request was created
SELECT ___(___, ___) AS day,
-- Select avg time between request creation and completion
___(___ - ___) AS duration
FROM evanston311
-- Group by the name of the day of the week and
-- integer value of day of week the request was created
GROUP BY day, EXTRACT(___ ___ ___)
-- Order by integer value of the day of the week
-- the request was created
ORDER BY EXTRACT(___ ___ ___);