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

Window Function สำหรับค่าสูงสุด

ทีมงานภาคสนามในรัฐไอดาโฮได้รายงานข้อมูลตัวอย่างจากระบบตรวจสอบคุณภาพน้ำในหลายมิติ พวกเขาต้องการเปรียบเทียบค่าตัวอย่าง Alkalinity กับค่าสูงสุดของแต่ละปี เพื่อวิเคราะห์แนวโน้มที่เข้าใกล้ค่าสูงสุด ข้อมูลมีความไม่เป็นระเบียบอยู่บ้าง จึงต้องแปลงประเภทข้อมูลวันที่อย่างชัดเจน

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

Introduction to Redshift

ดูคอร์ส

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

  • แปลง sample_date ให้เป็นชนิด date อย่างชัดเจน โดยตั้งชื่อแทนว่า date_sampled และเรียงลำดับตามคอลัมน์นี้
  • ใช้ window function เพื่อคำนวณค่า Alkalinity สูงสุด จากคอลัมน์ characteristic_measurementvalue โดยแบ่งกลุ่มตามปี

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

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

SELECT fk_monitoringlocation,
       -- Explicitly convert sample_date to a DATE
       ___(sample_date AS ___) as date_sampled,
       characteristic_measurementvalue,
       -- Find the max measurement
       ___(___) ___ (
            -- For each year window based on the sample date
            ___ BY DATE_PART(___, ___(___ AS DATE))
       ) as yearly_max
  FROM public_intro_redshift.idaho_samples
 WHERE characteristic_name = 'Alkalinity'
 ORDER BY date_sampled DESC,  
          fk_monitoringlocation;
แก้ไขและรันโค้ด