การแก้ไขข้อมูลซ้ำที่มีความคลุมเครือ
ชุดข้อมูล parking_violation ได้รับการปรับปรุงให้มีคอลัมน์ fee ซึ่งระบุค่าปรับของการละเมิดกฎจราจร คอลัมน์นี้มีประโยชน์สำหรับการติดตามรายได้จากค่าปรับจอดรถในนิวยอร์กซิตี้ อย่างไรก็ตาม เนื่องจากมีระเบียนข้อมูลซ้ำกัน การคำนวณรายได้จากชุดข้อมูลนี้จึงไม่ถูกต้อง ระเบียนซ้ำเหล่านี้แตกต่างกันเฉพาะค่าในคอลัมน์ fee เท่านั้น ส่วนคอลัมน์อื่นทั้งหมดมีค่าเหมือนกัน จึงมีการตัดสินใจใช้ค่า fee ที่ต่ำสุดเพื่อแก้ปัญหาความคลุมเครือจากข้อมูลซ้ำเหล่านี้
ให้ระบุระเบียนใน parking_violation ที่ซ้ำกันทั้ง 3 รายการ แล้วใช้ฟังก์ชัน MIN() เพื่อหาค่า fee ที่จะใช้หลังจากลบระเบียนซ้ำออก
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การทำความสะอาดข้อมูลในฐานข้อมูล PostgreSQL
คำแนะนำการฝึกหัด
- ดึงข้อมูล
summons_numberและค่าfeeต่ำสุดของระเบียนที่ซ้ำกัน - จัดกลุ่มผลลัพธ์ตาม
summons_number - กรองเฉพาะระเบียนที่มี count ของ
summons_numberมากกว่า 1
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
SELECT
-- Include SELECT list columns
___,
___(___) AS fee
FROM
parking_violation
GROUP BY
-- Define column for GROUP BY
___
HAVING
-- Restrict to summons numbers with count greater than 1
___(___) ___ ___;