基本语法
基本语法 select 查询字段 from 表名 where 查询条件 group by 分组字段 having 过滤条件
我们来实际操作一下
首先 我们建一个用户表
首先 我们根据user_gender (员工性别分组) 查看 男性和女性员工分别是多少个
select count(*) from user_list group by user_gender;
运行结果如下
我们用user_gender分组 查询了 count总条数
但我们现在看不出 到底是男的 4个 还是女的4个
修改代码如下
select user_gender,count(*) from user_list group by user_gender;
这次我们查询的字段是 user_gender 和 count 总长度 就可以知道 男女具体是多少了
然后 我们还是以男女分组 但这次 我们限制 只有22岁以上的员工可以参与查询
select user_gender,count(*) from user_list where user_age > 22 group by user_gender;
我们这里条件限制 user_age年龄 字段 必须大于22 才能参与查询
运行结果如下
这里我们可以看到 李四 和赵云 别过滤掉了 所以 男的就只有两个
男女 变成了 2比2
然后我们最后再来一个
判断薪资在 6千以上 且 人数 2人 或 2人以上的性别
select user_gender,count(*) from user_list where user_salary > 6000 group by user_gender having count(*) >= 2;
运行结果如下
首先 参与分组的数据 user_salary 必须大于 6000 然后查询后的过滤条件是 总数要 大于等于二
女员工只有一个人达到 总数小于2 所以被第二个条件过滤 最终 只有男员工的两条数据被查询了出来
数据纯属演示 乱造数据 没有任何其他意思