เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

สรุปสถิติของแต่ละกลุ่ม

บางครั้งเราต้องการเข้าใจว่าค่าหนึ่งแปรผันอย่างไรในแต่ละกลุ่ม เช่น ค่าสูงสุดต่อกลุ่มมีความแตกต่างกันมากน้อยแค่ไหน?

วิธีหนึ่งคือสรุปข้อมูลตามกลุ่มก่อน แล้วจึงคำนวณสถิติสรุปจากผลลัพธ์ของกลุ่มนั้น โดยใช้ 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
แก้ไขและรันโค้ด