分組基操
阿新 • • 發佈:2022-05-16
萬丈高樓平地起,不要小看了任意一根稻草!
現有一個學生簡介表,記錄了每一個學生的年齡,性別,學校,以及30天內活躍天數,發帖數量,回答數量等資訊,資料如下:
其中,gender 性別包括 male 男,female 女,active_days_within_30 是30天內活躍天數,question_cnt 是發帖數量,answer_cnt 是回答數量
現在需要對每個學校每種性別的學生人數以及活躍情況做分析,具體來說,就是統計每個學校的每種性別一共有多少人,這些人30天內平均活躍天數,平均發帖數量和平均回答數量
這是一個基本的多欄位分組,分組之後的聚合統計。avg 與 sum 不能巢狀,所以需要用除法計算,再使用 round 函式四捨五入保留一位小數。
SELECT university, gender, count(id) user_num, ROUND(sum(active_days_within_30) / count(id), 1) avg_active_day, ROUND(sum(question_cnt) / count(id), 1) avg_question_cnt FROM user_profile GROUP BY university, gender
結果如下所示:
其中,user_num 統計了分組後的人數,sum 後的總髮帖和總活躍天數除以人數即是平均值,再使用 round 取捨即可
再來點基操中的基操,count 1 = count * 不去空,count col 去空。