简单介绍MySQL中GROUP BY子句的使用
可以使用GROUPBY组值一列,并且如果愿意的话,可以将该列进行计算。使用COUNT,SUM,AVG等功能的分组列。
要了解GROUPBY子句考虑的EMPLOYEE_TBL的的表具有以下记录:
mysql>SELECT*FROMemployee_tbl; +------+------+------------+--------------------+ |id|name|work_date|daily_typing_pages| +------+------+------------+--------------------+ |1|John|2007-01-24|250| |2|Ram|2007-05-27|220| |3|Jack|2007-05-06|170| |3|Jack|2007-04-06|100| |4|Jill|2007-04-06|220| |5|Zara|2007-06-06|300| |5|Zara|2007-02-06|350| +------+------+------------+--------------------+ 7rowsinset(0.00sec)
现在,假设根据上表,我们希望计算每一位员工工作的天数。
如果我们将编写一个SQL查询,如下所示,那么我们将得到下面的结果:
mysql>SELECTCOUNT(*)FROMemployee_tbl; +---------------------------+ |COUNT(*)| +---------------------------+ |7| +---------------------------+
但是,这不是我们的目的服务,我们要显示输入的每个人单独的页面总数。这是通过使用聚合函数一起用GROUPBY子句如下:
mysql>SELECTname,COUNT(*) ->FROMemployee_tbl ->GROUPBYname; +------+----------+ |name|COUNT(*)| +------+----------+ |Jack|2| |Jill|1| |John|1| |Ram|1| |Zara|2| +------+----------+ 5rowsinset(0.04sec)