MySQL--基础--dql--分组、排序、分页

  四  DQL分组查询

1,分组查询语法
select  字段列表  from  表名【where条件】 group by 分组字段名 【having分组后过滤条件】
但是不是按照语法走的,执行顺序在第八章
例子;根据性别分组,统计男女员工各自数量。
第一步先写基本查询,select  *(所有字段的意思) form  表名
第二部加上分组,select  *(所有字段的意思) form  表名  group by  性别
第三步,因为要统计男女数量,就加上聚合函数count,select  count(*)(统计所有男女员工数量的意思,因为分组执行在函数前面,通过性别分组了,所以可以直接*全部统计) form  表名  group by  性别
在这一步就出现问题了,按现在的sql语句,就是查询这个表,通过性别分组,统计平均数量。执行完就发现,分没分组,分了。统计没统计,统计了各自数量。但归根结底只是两组数,有问题吗,没问题,因为这句sql语句就这意思,所有要改进才能满足需求。
第四步,上面做完发现有两组数,但不显示那个是男,那个是女,所以在前面基础查询加一个性别,得出完全状态:select  性别  count(*)form  表名  group by  性别
把这条命令分开看,先基础查询性别,就显示了男女;在把性别分组,各自统计数量,就完整了,符合需求了。所以破解方法就是在前面的基础查询加需要的字段,

你可能感兴趣的:(mysql,sql,数据库)