การตัดทอนวันที่
ต่างจาก date_part() หรือ EXTRACT() ตรงที่ date_trunc() จะเก็บหน่วยวันที่/เวลาที่ใหญ่กว่าหน่วยที่ระบุไว้ด้วย กล่าวคือแทนที่จะดึงเฉพาะส่วนประกอบเดียวของ timestamp date_trunc() จะคืนค่าหน่วยที่ระบุพร้อมกับหน่วยที่ใหญ่กว่าทั้งหมด
ทบทวน syntax:
date_trunc('field', timestamp)
ใช้ date_trunc() เพื่อหาจำนวนคำร้อง Evanston 311 ที่สร้างขึ้นเฉลี่ยต่อวันในแต่ละเดือนของข้อมูล โดยไม่นับวันที่ไม่มีคำร้องเลยเข้าในการคำนวณค่าเฉลี่ย
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Exploratory Data Analysis ใน SQL
คำแนะนำการฝึกหัด
- เขียน subquery เพื่อนับจำนวนคำร้องที่สร้างขึ้นในแต่ละวัน
- เลือกเดือนและค่าเฉลี่ยจำนวนคำร้องต่อเดือนจาก subquery ชื่อ
daily_count
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
-- Aggregate daily counts by month
SELECT ___ AS month,
___(___)
-- Subquery to compute daily counts
FROM (SELECT ___ AS day,
___ AS count
FROM evanston311
GROUP BY ___) AS daily_count
GROUP BY ___
ORDER BY month;