2017-05-09 39 views
0

Source Data怎樣寫平均innerQuery

從圖片我有相同的課程ID和多部影片,因爲我想顯示整體觀看百分比平均他們的我該怎麼辦,我想是這樣的:

(SELECT SUM(watched_percentage) FROM tbl_student_learning_path where course_id = 298 
AND SELECT COUNT(watched_percentage) FROM tbl_student_learning_path where course_id = 298) 
as overallScore 
+1

通常情況下,OVE (SUM(watched_time)/ SUM(total_time))* 100'或'((45 + 5)/(93 + 5))* 100'或51.02%,而不是48%的平均值,以及100%或74%。後者幾乎完全沒有意義。 –

+0

絕對同意@JonathanLeffler,並打算寫一些類似的答案,但沒有時間。而現在我看到一個更差的答案已被接受!? –

+0

好的,我該怎麼寫才能寫出答案。 –

回答

2

按照意見,你會得到一個加權平均這樣

SELECT 
    course_id, 
    (100 * SUM(watched_total_time)/SUM(video_total_time)) AS WeightedAvg 
FROM 
    tbl_student_learning_path 
WHERE 
    course_id=298 
GROUP BY 
    course_id 
1
SELECT course_id,AVG(watched_percentage) AS Avg 
FROM tbl_student_learning_path 
WHERE course_id=298 
GROUP BY course_id