การอนุมานจำนวนเพลงที่ซื้อ
หลังจากที่ได้ทดลองใช้ตาราง tracks กันไปแล้ว มาลองดูอะไรใหม่กันบ้าง ตาราง invoice แสดงยอดรวมของแต่ละธุรกรรม แต่ไม่ได้บอกว่าซื้อเพลงไปกี่เพลง เราจะแก้ปัญหานี้ด้วย CASE statement เพื่อตรวจสอบว่าลูกค้าซื้อเพลงมากกว่าหนึ่งเพลงในธุรกรรมเดียวหรือไม่ ข้อมูลสำคัญที่ควรทราบ: ราคาต่อหน่วยของเพลงมีเพียงสองราคาเท่านั้น คือ 0.99 และ 1.99
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การจัดการข้อมูลใน Snowflake
คำแนะนำการฝึกหัด
- เมื่อยอดรวม
totalของใบแจ้งหนี้เท่ากับ0.99หรือ1.99ให้จัดประเภทเป็น'1 Song' - หากเงื่อนไขข้างต้นไม่เป็นจริง ให้ระบุเป็น
'2+ Songs'ซึ่งสะท้อนจำนวนเพลงที่ซื้อในธุรกรรมเดียว - กำหนดชื่อคอลัมน์ใหม่เป็น
number_of_songs
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
SELECT
customer_id,
total,
CASE
-- Check if total is either 0.99 or 1.99 using IN
WHEN ___ IN (0.99, ___) THEN '___'
-- Catch the scenarios when the above is not true
___ '2+ Songs'
-- End the CASE statement and name the new column
___ AS ___
FROM store.invoice;