From 62b5f5fd30b84fdcec5573fdf5ebb11b81910109 Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Sun, 11 Oct 2026 14:43:58 +0800 Subject: [PATCH] =?UTF-8?q?javaEEday07-DQL-Select-=E5=88=86=E7=BB=84?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mysql-day02-DQL.sql | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/mysql-day02-DQL.sql b/mysql-day02-DQL.sql index 739b396..91dabc7 100644 --- a/mysql-day02-DQL.sql +++ b/mysql-day02-DQL.sql @@ -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;