เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ความแตกต่างตามวันในสัปดาห์

ระยะเวลาที่ใช้ในการดำเนินการตามคำขอแตกต่างกันตามวันในสัปดาห์ที่สร้างคำขอหรือไม่?

เราสามารถดึงชื่อวันในสัปดาห์ได้โดยแปลง timestamp เป็นข้อมูลแบบตัวอักษร:

to_char(date_created, 'day') 

อย่างไรก็ตาม ชื่อวันในสัปดาห์จะเรียงตามลำดับตัวอักษร ไม่ใช่ลำดับตามปฏิทิน หากต้องการเรียงตามลำดับวันในสัปดาห์จริง พร้อมค่าจำนวนเต็มสำหรับแต่ละวัน ให้ใช้:

EXTRACT(DOW FROM date_created)

DOW ย่อมาจาก "day of week" (วันในสัปดาห์)

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Exploratory Data Analysis ใน SQL

ดูคอร์ส

คำแนะนำการฝึกหัด

  • เลือกชื่อวันในสัปดาห์ที่สร้างคำขอ (date_created) โดยตั้งชื่อคอลัมน์ว่า day
  • เลือกค่าเฉลี่ยของเวลาระหว่างวันที่ดำเนินการเสร็จสิ้น (date_completed) กับวันที่สร้างคำขอ โดยตั้งชื่อคอลัมน์ว่า duration
  • จัดกลุ่มตาม day (ชื่อวันในสัปดาห์) และค่าจำนวนเต็มของวันในสัปดาห์ (ใช้ฟังก์ชันที่เหมาะสม)
  • เรียงลำดับตามค่าจำนวนเต็มของวันในสัปดาห์ โดยใช้ฟังก์ชันเดียวกับที่ใช้ใน GROUP BY

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

-- 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(___ ___ ___);
แก้ไขและรันโค้ด