sql里 如何统计一个公司的部门人数 可以有很多子公司 每个子公司可以有相同的部门 每个部门有多个员工

如何查询每个公司每个部门的人数
比如
北京公司 人事部 张
北京公司 财务部 赵
北京公司 人事部 孙
上海公司 人事部 王
上海公司 财务部 李

输出成
北京公司 财务部 1
北京公司 人事部 2
上海公司 财务部 1
上海公司 人事部 1

使用GROUP BY分组。

假设表的信息为:Employee(CompName,DeptName,EmpName)


--创建数据表
CREATE TABLE Employee
(
CompName VARCHAR(20),  --子公司名称
DeptName VARCHAR(20),  --部门名称
EmpName VARCHAR(20)   --员工姓名
)

--插入测试数据
INSERT INTO Employee VALUES('北京公司', '人事部', 'å¼ ')
INSERT INTO Employee VALUES('北京公司', '财务部', 'èµµ')
INSERT INTO Employee VALUES('北京公司', '人事部', '孙')
INSERT INTO Employee VALUES('上海公司', '人事部', '王')
INSERT INTO Employee VALUES('上海公司', '财务部', '李')

--SQL查询
SELECT CompName, DeptName, Number = COUNT(*)
FROM Employee
GROUP BY CompName, DeptName

 

测试结果:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-06-23
结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
应答时间:2021-06-23,最新业务变化请以平安银行官网公布为准。
[平安银行我知道]想要知道更多?快来看“平安银行我知道”吧~
https://b.pingan.com.cn/paim/iknow/index.html详情
    官方服务
      官方网站智能问答
第2个回答  2016-05-28
假设列名【公司名称】【部门名称】,表名【人员表】

select 公司名称,部门名称,COUNT(0) as 人数 from 人员表 group by 公司名称,部门名称 order by 公司名称,部门名称
相似回答