SQL统计部门人数,人数为0的部门也要显示出来
相同点:它们都以一张部门表(或类别表),其它表都有部门编号DepartmentID(类别编号)
案例一:一张表
select c.DepartmentID,c.DepartmentName, t.Num AS '人员数量' from T_Department as c
left join (select DepartmentID,COUNT(*) AS Num from T_User group by DepartmentID) as t on c.DepartmentID= t.DepartmentID
核心思想就是: 拆分
1将人员表按部门编号统计数量: ( select DepartmentID,COUNT(*) AS Num from T_User group by CompanyID) 得到t: 部门编号、部门人员数量;
2将 部门表与 t ,根据部门编号联表左连接,得到 :部门名称、部门人员数量
案例二:多张表
统计提交的 调查人员、设备、规范、数据来源规范 表的数量
select c.CompanyID,c.CompanyName, t1.Num AS '调查人员数量',t2.Num AS '设备数量',t.Num AS '规范数量',t3.Num AS '数据来源规范数量' from T_Company as c
left join (select CompanyID,COUNT(*) AS Num from T_Standard as s where s.HasSubmitted=1 group by CompanyID) as t on c.CompanyID= t.CompanyID
left join (select CompanyID,COUNT(*) AS Num from T_Investigator as s where s.HasSubmitted=1 group by CompanyID) as t1 on c.CompanyID= t1.CompanyID
left join (select CompanyID,COUNT(*) AS Num from T_Machine as s where s.HasSubmitted=1 group by CompanyID) as t2 on c.CompanyID= t2.CompanyID
left join (select CompanyID,COUNT(*) AS Num from T_DataSource as s where s.HasSubmitted=1 group by CompanyID) as t3 on c.CompanyID= t3.CompanyID
order by c.CompanyID
最后赋值粘贴到Excel,在Excel搞个合计:

SQL统计部门人数,人数为0的部门也要显示出来的更多相关文章
- MS SQL统计信息浅析下篇
MS SQL统计信息浅析上篇对SQL SERVER 数据库统计信息做了一个整体的介绍,随着我对数据库统计信息的不断认识.理解,于是有了MS SQL统计信息浅析下篇. 下面是我对SQL Serve ...
- sql 统计常用的sql
统计常用的sql 统计常用的sql语句: 今天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=0 昨天的所有数据:s ...
- SQL统计——按照各种维度
在SQLserver中可以按照各种维度进行统计,实现与EXCLE一样强大的功能. --========================== --Blog:<奔跑的金鱼> --Desc:&l ...
- 一个坑:java.sql.ResultSet.getInt==》the column value; if the value is SQL NULL, the value returned is 0
Retrieves the value of the designated column in the current row of this ResultSet object as a String ...
- java.lang.RuntimeException: java.sql.SQLException: Too many parameters: expected 0, was given 1 Quer
如果出现类似这样的错误,检查一下是否sql语句和参数的位置对调了. java.lang.RuntimeException: java.sql.SQLException: Too many parame ...
- 终于将 SQL Server 成功迁移至 MySQL8.0 啦!!!
之前一直使用 SQL Server 作为主数据库而不是 MySQL ,原因之一是单机 SQL Server 性能比 MySQL 强很多,另一个原因是之前客户的系统管理员大多只有 SQL Server ...
- sql统计字符串出现次数技巧
在牛客网上看到一道题,感觉挺有趣,是用sql统计字符串出现的次数. 这里提供一种思路,比如统计字符串A中子串B的出现次数: SELECT (LENGTH(A) - LENGTH(REPLACE(A, ...
- 构建使用SQL服务器的ASP.net Core2.0 API
web api的教程非常少,使用 core2.0的更少,微软提供了一个aspnet core2的教程,也提供了EF core中访问SQL服务器的教程,参考这些教程可以做出使用sql server的as ...
- excel中统计COUNTIFS的值为0
excel中统计COUNTIFS的值为0 个人认为是由于导出的文件里面的字符个数问题 使用 =COUNTIFS(H1:H175,"微信支付") 这个的结果居然是0,找了很多办法 于 ...
随机推荐
- Win10 cmd控制台程序会被鼠标单击暂停的解决办法
右键单击顶部白框,选择属性或默认值,将快速编辑模式的勾取消就可以了,最后记得点击确定
- 2-3 【初识组件】顶部 TabBar
VsCode中使用Emmet神器快速编写HTML代码 1 根组件下面包含了很多的子组件 组件就是控制屏幕的某一个部分,某一个区域 组件是可以相互包含的 组件是定义在类里面的,类里面有属性和方法 注解会 ...
- Mysql关键字之Group By(一)
原文地址,优先更新https://hhe0.github.io group by 是一个我们在日常工作学习过程中经常遇到的一个Mysql关键字.现总结其用法如下,内容会不断补充,出现错误欢迎批评指正. ...
- c#中Split 分离字符以及空格消除方法
1 split几种分离方法 1)用字符串分隔: using System.Text.RegularExpressions; string str="aaajsbbbjsccc& ...
- mysql杂项
取数据库某个表中的所有的字段 select COLUMN_NAME from information_schema.COLUMNS where table_name = 'your_table_nam ...
- python爬虫4猫眼电影的Top100
1 查看网页结构 (1)确定需要抓取的字段 电影名称 电影主演 电影上映时间 电影评分 (2) 分析页面结构 按住f12------->点击右上角(如下图2)---->鼠标点击需要观察的字 ...
- Oracle ROWNUM的陷阱
先抛出一个问题: 我有一张表T,现在我想对表中1/4的记录作UPDATE操作,我的SQL如下: Update t set col1='123' where mod(rownum,4)=1 我能够得到想 ...
- MySQL执行计划值type,强烈推荐
表结构: create table user ( id int primary key, name varchar(), sex varchar(), index(name) )engine=inno ...
- leetcode309 买卖股票
一.穷举框架 首先,还是一样的思路:如何穷举?这里的穷举思路和上篇文章递归的思想不太一样. 递归其实是符合我们思考的逻辑的,一步步推进,遇到无法解决的就丢给递归,一不小心就做出来了,可读性还很好.缺点 ...
- watchdog监控文件变化使用总结——转载
原文链接地址:https://blog.csdn.net/xufive/article/details/93847372 概述 首先声明,本文讨论的 watchdog,不是单片机里的 watchdog ...