简单介绍MySQL中GROUP BY子句的使用
程序员文章站
2024-02-29 17:01:22
可以使用group by组值一列,并且如果愿意的话,可以将该列进行计算。使用count,sum,avg等功能的分组列。
要了解group by子句考虑的emp...
可以使用group by组值一列,并且如果愿意的话,可以将该列进行计算。使用count,sum,avg等功能的分组列。
要了解group by子句考虑的employee_tbl的的表具有以下记录:
mysql> select * from employee_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 | +------+------+------------+--------------------+ 7 rows in set (0.00 sec)
现在,假设根据上表,我们希望计算每一位员工工作的天数。
如果我们将编写一个sql查询,如下所示,那么我们将得到下面的结果:
mysql> select count(*) from employee_tbl; +---------------------------+ | count(*) | +---------------------------+ | 7 | +---------------------------+
但是,这不是我们的目的服务,我们要显示输入的每个人单独的页面总数。这是通过使用聚合函数一起用group by子句如下:
mysql> select name, count(*) -> from employee_tbl -> group by name; +------+----------+ | name | count(*) | +------+----------+ | jack | 2 | | jill | 1 | | john | 1 | | ram | 1 | | zara | 2 | +------+----------+ 5 rows in set (0.04 sec)
上一篇: MySQL中MIN()函数的使用教程