? ? group by的作用是分組,一般和聚合函數(shù)一起使用吕世。
? ? 比如,學(xué)校有多門課程梯投,想查看學(xué)分大于3的課程中命辖,每門課程有多少學(xué)生選擇况毅,就可以用group by,如下:
? ? SELECT COUNT(*), course_id FROM `course` WHERE course_score>"3" GROUP BY course_id ORDER BY course_id;
? ?即先按course_id分組尔艇,然后查詢每個組中符合條件的學(xué)生人數(shù)尔许。
? ?group by后面還可以跟多個參數(shù),比如有表如下:
圖1 group by原表
想要查看市內(nèi)和市外學(xué)生選擇不同課程的人數(shù)终娃,可以如下:
SELECT COUNT(a),b,c FROM test GROUP BY b,c;
結(jié)果如下味廊,整理思想是:先按照b分組,此時得到1-5條記錄1組(組1)棠耕,6-8條記錄1組(組2)毡们。再按照c分組,發(fā)現(xiàn)組1可分成2組昧辽。
圖2 group by結(jié)果表