ค้นหา composer ที่คุ้มค่าที่สุด
โจทย์นี้น่าสนใจมาก! ระหว่างคุยกับเพื่อนร่วมงาน คุณอยากหาว่าศิลปินคนใดตั้งราคาเพลงเฉลี่ยต่อวินาทีสูงที่สุด โดยจะใช้ตาราง tracks ร่วมกับ Common Table Expression
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การจัดการข้อมูลใน Snowflake
คำแนะนำการฝึกหัด
- สร้าง Common Table Expression (CTE) ชื่อ
track_metricsเพื่อดึงข้อมูลcomposer, จำนวนวินาที และunit_price - ขณะกำหนด
track_metricsให้ดึงเฉพาะระเบียนที่มีค่าcomposerที่ไม่ว่างเปล่าเท่านั้น - คิวรี CTE
track_metricsเพื่อหาราคาเฉลี่ยต่อวินาทีของcomposerแต่ละรายโดยใช้สูตรunit_price / num_seconds
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
-- Create a CTE called track_metrics, convert milliseconds to seconds
___ ___ ___ (
SELECT
composer,
milliseconds / 1000 AS num_seconds,
unit_price
FROM store.track
-- Retrieve records where composer is not NULL
___
)
SELECT
composer,
-- Find the average price-per-second
___ AS cost_per_second
___
GROUP BY composer
ORDER BY cost_per_second DESC;