sql - 如果给定位置 ID,是否可以检索部门数量和在该部门工作的员工数量
问题描述
如果给定位置 ID,是否可以检索部门数量和在该部门工作的员工数量?Location_id
列在部门表中。员工与部门分享department_id
栏
使用此查询无法获得正确的结果:
select
count(E.employee_id), count(D.DEPARTMENT_ID)
from
employees e
join
departments d on (e.department_id = d.department_id)
where
D.LOCATION_ID = 1700;
解决方案
我怀疑您distinct
在计算部门时需要:
SELECT
COUNT( E.employee_id )
, COUNT(DISTINCT d.department_id )
FROM employees e
JOIN departments d ON e.department_id = d.department_id
WHERE d.location_id = 1700;
或者,您需要按部门分组:
SELECT
COUNT( E.employee_id )
, d.department_id
FROM employees e
JOIN departments d ON e.department_id = d.department_id
WHERE d.location_id = 1700
GROUP BY d.department_id;
推荐阅读
- shell - sed -i '' -e '/javaagent.jar/ s/$/ proxyPort=8080/' 此命令应仅在未注释该行时附加字符串
- typescript - 使用泛型基于输入的窄返回类型
- huawei-mobile-services - Ads kit 集成在 HMS Ads kit 中遇到 error 499 错误
- ios - Swift 包中的 XIB 文件 - 忽略约束
- c++ - C++ 使用 std::fill 删除分配运算符的类
- php - Laravel 在 90 天后更改日期上的状态
- google-apps-script - 在谷歌表格中使用过滤器/查询时自动 S# 列
- django - Viewset/Serializer 上的 DRF PUT 不会在模型实例上触发 post_save 信号
- java - 我怎样才能在 Selenide 上做这个方法
- excel - Powershell 数据处理