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

การเปรียบเทียบรายสัปดาห์

ในแบบฝึกหัดก่อนหน้า คุณใช้ช่วงหน้าต่างแบบรายเดือนเพื่อคำนวณการเปลี่ยนแปลงแบบเดือนต่อเดือน แต่บางครั้งอาจต้องการคำนวณในช่วงเวลาที่ต่างออกไป เช่น เปรียบเทียบ 7 วันล่าสุดกับ 7 วันก่อนหน้านั้น ซึ่งต้องใช้ การคำนวณแบบ rolling

ในแบบฝึกหัดนี้ จะคำนวณค่าเฉลี่ย rolling 7 วันของ views สำหรับแต่ละ date แล้วนำมาเปรียบเทียบกับค่าเฉลี่ย 7 วันก่อนหน้า เพื่อให้เห็นการเปรียบเทียบรายสัปดาห์ที่ชัดเจนในทุกวัน

ไวยากรณ์สำหรับค่าเฉลี่ย rolling คือ AVG(value) OVER (PARTITION BY field ORDER BY field ROWS BETWEEN N PRECEDING AND CURRENT ROW) โดยที่ N คือจำนวนแถวที่ย้อนกลับไปในการคำนวณ และจำไว้ว่า CURRENT ROW นับเป็นหนึ่งแถวด้วย

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การรายงานผลด้วย SQL

ดูคอร์ส

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

SELECT
	-- Pull in date and daily_views
	____,
	____ AS daily_views,
    -- Calculate the rolling 7 day average
	____ AS weekly_avg
FROM ____
GROUP BY ____;
แก้ไขและรันโค้ด