แก้ไขการคำนวณด้วย coalesce
ค่า null ส่งผลต่อการรวมค่าหลายรูปแบบ ปัญหาหนึ่งที่พบบ่อยเกี่ยวข้องกับฟังก์ชัน AVG() ซึ่งโดยค่าเริ่มต้นจะไม่นำค่า null มาคำนวณด้วย อย่างไรก็ตาม บางครั้งอาจต้องการให้ค่า null เหล่านั้นถูกนับเป็นศูนย์ในการคำนวณ
ในการแทนที่ค่า null ด้วยสตริงหรือตัวเลข ให้ใช้ฟังก์ชัน COALESCE() โดยมีรูปแบบคำสั่งเป็น COALESCE(fieldName,replacement) ซึ่ง replacement คือค่าที่จะใช้แทนที่ค่า null ทั้งหมดของ fieldName
แบบฝึกหัดนี้จะพาไปดูว่าค่า null ส่งผลต่อการคำนวณอย่างไร และจะแก้ไขปัญหาเหล่านั้นได้อย่างไร
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การรายงานผลด้วย SQL
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
-- Pull events and golds by athlete_id for summer events
SELECT
____,
____ AS total_events,
____ AS gold_medals
FROM ____
GROUP BY ____
-- Order by total_events descending and athlete_id ascending
ORDER BY ____;