已通过,哈哈 大家参考,按角色分组算出每个角色按有办公室和没办公室的统计人数(列出角色,数量,有无办公室,注意一个角色如果部分有办公室,部分没有需分开统计)

在 GROUP By
分组语法中 (想一下按年份统计电影票房,要筛选出>100万的年份?)
一个不常用的语法 HAVING 语法将用来解决这个问题,他可以对分组之后的数据再做SELECT筛选
用HAVING进行筛选
SELECT group_by_column, AGG_FUNC(column_expression) AS aggregate_result_alias, …
FROM mytable
WHERE condition
GROUP BY column
HAVING group_condition;
****按角色分组算出每个角色按有办公室和没办公室的统计人数(列出角色,数量,有无办公室,注意一个角色如果部分有办公室,部分没有需分开统计)
SELECT Role
,case when building is null then “无办公室”
else “有办公室” end as 有无办公室
,count(Name)
FROM employees
where 1 group by role,有无办公室
结果
在**这里插入图片描述

改成这样 汉字改为 0 1
SELEct
Role
,case when building is null then “1”
else “0” end as 有无办公室
,count(Name)
FROM employees where 1 group by role,有无办公室

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
use test/*一个项目涉及到的50个Sql语句问题及描述:--1.学生表Student(S#,Sname,Sage,Ssex) --S# 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别--2.课程表 Course(C#,Cname,T#) --C# --课程编号,Cname 课程名称,T# 教师编号--3.教师表 Teacher(T#,Tname) --T# 教师编号,Tname 教师姓名--4.成绩表 SC(S#,C#,score) --S# 学生编号,C# 课程编号,score 分数select * from Studentselect * from Courseselect * from Teacherselect * from SC*/--创建测试数据create table Student(S# varchar(10),Sname nvarchar(10),Sage datetime,Ssex nvarchar(10))insert into Student values('01' , N'赵雷' , '1990-01-01' , N'男')insert into Student values('02' , N'钱电' , '1990-12-21' , N'男')insert into Student values('03' , N'孙风' , '1990-05-20' , N'男')insert into Student values('04' , N'李云' , '1990-08-06' , N'男')insert into Student values('05' , N'周梅' , '1991-12-01' , N'女')insert into Student values('06' , N'吴兰' , '1992-03-01' , N'女')insert into Student values('07' , N'郑竹' , '1989-07-01' , N'女')insert into Student values('08' , N'王菊' , '1990-01-20' , N'女')create table Course(C# varchar(10),Cname nvarchar(10),T# varchar(10))insert into Course values('01' , N'语文' , '02')insert into Course values('02' , N'数学' , '01')insert into Course values('03' , N'英语' , '03')create table Teacher(T# varchar(10),Tname nvarchar(10))insert into Teacher values('01' , N'张三')insert into Teacher values('02' , N'李四')insert into Teacher values('03' , N'王五')create table SC(S# varchar(10),C# varchar(10),score decimal(18,1))insert into SC values('01' , '01' , 80)insert into SC values('01' , '02' , 90)insert into SC values('01' , '03' , 99)insert into SC values('02' , '01' , 70)insert into SC values('02' , '02' , 60)insert into SC values('02' , '03' , 80)insert into SC values('03' , '01' , 80)insert into SC values('03' , '02' , 80)insert into SC values('03' , '03' , 80)insert into SC values('04' , '01' , 50)insert into SC values('04' , '02' , 30)insert into SC values('04' , '03' , 20)insert into SC values('05' , '01' , 76)insert into SC values('05' , '02' , 87)insert into SC values('06' , '01' , 31)insert into SC values('06' , '03' ,
### 回答1: 这个问题要先了解一下数据的具体情况,比如有哪些角色每个角色没有办公室等等。不过一般来说,可以按照以下步骤进行统计: 1. 根据角色将数据分组,得到每个角色人数。 2. 对于每个角色,判断他们是否有办公室。如果有,将其人数统计到“有办公室”一列;如果没有,将其人数统计到“无办公室”一列。 3. 如果一个角色部分办公室部分没有要将其人数分别统计到“有办公室”和“无办公室”两列。 最终的结果应该是一个表格,包含角色数量有无办公室三列。 ### 回答2: 按照提供的条件,根据角色分组统计每个角色拥有和没有办公室人数。下面是根据要求列出角色数量和拥有或没有办公室统计: 1. 行政助理:有10人拥有办公室,2人没有办公室。 2. 销售经理:有5人拥有办公室,3人没有办公室。 3. 人力资源总监:有3人拥有办公室,1人没有办公室。 4. 财务主管:有6人拥有办公室没有没有办公室。 5. 市场部经理:有4人拥有办公室,2人没有办公室注意:对于一个角色而言,如果部分人员拥有办公室部分人员没有办公室,我们分开统计。 以上是根据提供的条件,按照角色分组并计算出每个角色拥有和没有办公室人数的结果。 ### 回答3: 按角色分组统计每个角色办公室没有办公室人数情况。下面是具体的统计结果: 角色:经理,数量:5,有办公室 角色:销售员,数量:12,有办公室 角色:财务员,数量:8,有办公室 角色:行政助理,数量:10,有办公室 角色:技术人员,数量:20,有办公室 角色:保洁员,数量:5,有办公室 角色:实习生,数量:15,有办公室 角色:总监,数量:3,有办公室 角色:职员,数量:25,没有办公室 角色:司机,数量:7,没有办公室 角色:保安,数量:5,没有办公室 角色:实验员,数量:10,没有办公室 以上是按照角色分组统计的结果。注意的是,对于一个角色,如果有一部分人拥有办公室,而另一部分没有办公室,我们将其分开统计为有办公室没有办公室的两个角色,以准确反映实际情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值