博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle 分组查询
阅读量:5316 次
发布时间:2019-06-14

本文共 620 字,大约阅读时间需要 2 分钟。

数据库某张表A中每个系统有一个负责人(NAME)和备岗负责人(NAME_BAK),系统号唯一(ID),请统计出每个人作为系统负责人负责多少个系统,同时作为备岗负责人负责多少个系统,显示结果为三列(负责人姓名,作为主岗负责人负责系统的个数,作为备岗负责人负责系统的个数)。ld name name_bak(表中数据如下)

select t.name,t1.num,t2.num_bak

from (select distinct * from (select a1.name from A a1 union all select a2.name_bak from A a2)) t   --表中所有的人,有些人可能是负责人,但不是备岗负责人,相反,同理。
left join (select name, count(*) num from A t group by t.name) t1 on t.name=t1.name  --每个人作为负责人负责的系统的数量
left join (select name_bak, count(*) num_bak from A t group by t.name_bak) t2 on t.name=t2.name_bak  -- 每个人作为备岗负责人负责的数量
order by t.name;

结果如下:

 

转载于:https://www.cnblogs.com/anxiong/p/9686262.html

你可能感兴趣的文章
构建自己的项目管理方案
查看>>
利用pca分析fmri的生理噪声
查看>>
div水平居中且垂直居中
查看>>
怎么在windows7系统我的电脑中添加快捷方式
查看>>
epoll使用具体解释(精髓)
查看>>
AndroidArchitecture
查看>>
原生JavaScript第六篇
查看>>
安装Endnote X6,但Word插件显示的总是Endnote Web"解决办法
查看>>
python全栈 计算机硬件管理 —— 硬件
查看>>
大数据学习
查看>>
简单工厂模式
查看>>
Delphi7编译的程序自动中Win32.Induc.a病毒的解决办法
查看>>
Objective-C 【关于导入类(@class 和 #import的区别)】
查看>>
倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-点击运行按钮进入到运行状态报错Error starting TwinCAT System怎么办 AdsWarning1823怎么办...
查看>>
【转】javascript 中的很多有用的东西
查看>>
Centos7.2正常启动关闭CDH5.16.1
查看>>
Android 监听返回键、HOME键
查看>>
Android ContentProvider的实现
查看>>
sqlserver 各种判断是否存在(表名、函数、存储过程等)
查看>>
给C#学习者的建议 - CLR Via C# 读后感
查看>>