sql - sql查询表之间的汇总值
问题描述
假设你有两张桌子
部门
dept_id
部门名称
dept_sub_id
子部门
dept_sub_id
子部门名称
sub_dept_total_employees
我将如何编写一个查询,该查询将为Department中的dept_name提供相关Subdepartment表中员工总数最多的部门,即总sub_dept_total_employees,其中dept_sub_id之间存在关系
我想要Department的dept_name,而不是sub_dept_total_employees总数
谢谢
解决方案
甲骨文
SELECT dept_name
FROM department a
JOIN
(SELECT dept_sub_id
FROM subdepartment
ORDER BY sub_dept_total_employees DESC) b ON a.dept_sub_id = b.dept_sub_id
WHERE b.rownum = 1
其他数据库(检查文档以查看是否row_number()
支持)
SELECT dept_name
FROM department a
JOIN
(SELECT dept_sub_id,
row_number() over(
ORDER BY sub_dept_total_employees DESC) AS rn
FROM subdepartment) b ON a.dept_sub_id = b.dept_sub_id
WHERE b.rn = 1
推荐阅读
- aws-api-gateway - 配置为使用 Cognito Authorizer 的 API 网关的公共路径
- regex - 正则表达式删除最后一个换行符
- git - “git pull --rebase”和“git fetch && git rebase --autostash FETCH_HEAD”有区别吗?
- prolog - SWI-Prolog中堆栈的实现
- python - 为特定推文抓取 Twitter API
- batch-file - 备份单个文件并覆盖,如果它存在于 Windows 中的批处理文件
- php - 避免在返回两个方法时使用 if else 语句
- javascript - Mapbox 底图图层之间的过渡
- php - WooCommerce PDF 产品凭证 - 显示 order_created_date?
- reactjs - 在reactjs中单击上传文件时无法显示选择文件的弹出窗口?