? ? 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分組,然后查詢每個(gè)組中符合條件的學(xué)生人數(shù)。
? ?group by后面還可以跟多個(gè)參數(shù),比如有表如下:

圖1 group by原表
想要查看市內(nèi)和市外學(xué)生選擇不同課程的人數(shù),可以如下:
SELECT COUNT(a),b,c FROM test GROUP BY b,c;
結(jié)果如下,整理思想是:先按照b分組,此時(shí)得到1-5條記錄1組(組1),6-8條記錄1組(組2)。再按照c分組,發(fā)現(xiàn)組1可分成2組。

圖2 group by結(jié)果表