javaEEday07-DQL-Select-分组查询
This commit is contained in:
+39
-1
@@ -88,4 +88,42 @@ select * from tb_emp where name like '%三%';
|
||||
-- 条件 : name , gender , entrydate
|
||||
select * from tb_emp where name like '%张%'
|
||||
and gender = 1
|
||||
and entrydate between '2000-01-01' and '2010-01-01'
|
||||
and entrydate between '2000-01-01' and '2010-01-01';
|
||||
|
||||
-- 分组查询---聚合函数
|
||||
-- 1. 统计该企业员工数量 -- count
|
||||
-- count(字段)
|
||||
select count(id) from tb_emp;
|
||||
select count(name) from tb_emp;
|
||||
select count(job) from tb_emp; -- 注意:所有的聚合函数是排除null计算的!!!!
|
||||
|
||||
select count(*) from tb_emp;
|
||||
|
||||
select count(0) from tb_emp;-- 统计总数推荐count(0)
|
||||
|
||||
-- 2. 统计该企业最早入职的员工的入职日期
|
||||
select min(entrydate) from tb_emp;
|
||||
|
||||
-- 3. 统计该企业最近入职的员工的入职日期
|
||||
select max(entrydate) from tb_emp;
|
||||
|
||||
-- 4. 统计该企业员工的 ID 之和
|
||||
select sum(id) from tb_emp;
|
||||
|
||||
-- 5. 统计该企业员工 ID 的平均值
|
||||
select avg(id) from tb_emp;
|
||||
|
||||
-- 6. 不用avg如何计算平均值
|
||||
select sum(id)/count(0) from tb_emp;
|
||||
|
||||
-- 分组查询
|
||||
-- 1. 根据性别分组 , 统计男性和女性员工的数量 -- count(*)
|
||||
-- 注意:分组之后能查询的字段只能是分组字段或者聚合函数才有意义
|
||||
select gender, count(1) from tb_emp group by gender;
|
||||
|
||||
-- 2. 先查询入职时间在 '2015-01-01' (包含) 以前的员工 , 并对结果根据职位分组 , 获取员工数量大于等于2的职位 -- count
|
||||
|
||||
select job,count(0) from tb_emp
|
||||
where entrydate <= '2015-01-01'
|
||||
group by job
|
||||
having count(0)>= 2;
|
||||
|
||||
Reference in New Issue
Block a user