สรุปสถิติของแต่ละกลุ่ม
บางครั้งเราต้องการเข้าใจว่าค่าหนึ่งแปรผันอย่างไรในแต่ละกลุ่ม เช่น ค่าสูงสุดต่อกลุ่มมีความแตกต่างกันมากน้อยแค่ไหน?
วิธีหนึ่งคือสรุปข้อมูลตามกลุ่มก่อน แล้วจึงคำนวณสถิติสรุปจากผลลัพธ์ของกลุ่มนั้น โดยใช้ subquery คำนวณค่าของแต่ละกลุ่ม แล้วนำผลลัพธ์มาสรุปอีกครั้ง
ในแบบฝึกหัดนี้ ให้หาค่าส่วนเบี่ยงเบนมาตรฐานของจำนวนคำถาม Stack Overflow สูงสุดต่อวันในแต่ละ tag รวมถึงค่าเฉลี่ย ค่าต่ำสุด และค่าสูงสุดของค่าสูงสุดเหล่านั้นด้วย
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Exploratory Data Analysis ใน SQL
คำแนะนำการฝึกหัด
- เริ่มด้วยการเขียน subquery เพื่อคำนวณ
max()ของquestion_countต่อ tag โดยตั้งชื่อผลลัพธ์ของ subquery ว่าmaxval - จากนั้นคำนวณค่าส่วนเบี่ยงเบนมาตรฐานของ
maxvalด้วยstddev() - คำนวณ
min(),max()และavg()ของmaxvalด้วยเช่นกัน
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
-- Compute standard deviation of maximum values
SELECT ___(___),
-- min
___(___),
-- max
___(___),
-- avg
___(___)
-- Subquery to compute max of question_count by tag
FROM (SELECT ___(___) AS ___
FROM stackoverflow
-- Compute max by...
GROUP BY ___) AS max_results; -- alias for subquery